> 백엔드 개발 > PHP 튜토리얼 > MPDF를 사용하여 HTML을 PDF로 변환한 다음 PDF를 PNG 이미지로 변환하면 중국어로 오류 메시지가 나타납니다...

MPDF를 사용하여 HTML을 PDF로 변환한 다음 PDF를 PNG 이미지로 변환하면 중국어로 오류 메시지가 나타납니다...

WBOY
풀어 주다: 2016-09-28 08:54:07
원래의
1518명이 탐색했습니다.

1단계:

MPD(버전 6.1)를 사용하여 HTML 페이지를 PDF 파일로 변환하면 변환이 성공할 수 있습니다. 코드는 다음과 같습니다.

<code>$html = "对盲人初学者来说,它无需任何额外的修改。";
// $html = "These are the most used acronyms throughout this manual.";
include './mpdf/mpdf.php';
$mpdf=new mPDF('+aCJK'); 
$mpdf->autoScriptToLang = true;
$mpdf->autoLangToFont = true;
$mpdf->WriteHTML($html);
$mpdf->Output();</code>
로그인 후 복사
로그인 후 복사

2단계:

imagick을 사용하여 PDF를 이미지로 변환할 때
PDF 파일에 중국어가 없으면 변환 성공
PDF 파일에 중국어가 있으면, 오류가 직접 보고됩니다: , 오류 코드:

<code>Fatal error: Uncaught exception 'ImagickException' with message 'Failed to read the file' in /home/www/test/index-back.php:26 Stack trace: #0 /home/www/test/index-back.php(26): Imagick->readimage('/home/www/test/...') #1 /home/www/test/index-back.php(48): pdf2png('/home/www/test/...', '/home/www/test/...') #2 {main} thrown in /home/www/test/index-back.php on line 26</code>
로그인 후 복사
로그인 후 복사

참고: 추가로 공개 API의 PDF 설명 파일(기본적으로 모두 중국어로 되어 있음)을 찾았고 imagick을 사용하여 PDF를 png로 변환했는데 변환에 성공했습니다...

PDF를 이미지 코드로 변환:

<code>function pdf2png($PDF, $Path){
   if(!extension_loaded('imagick')){
       return false;
   }
   if(!file_exists($PDF)){
       return false;
   }
   $IM = new imagick();
   $IM->setResolution(120, 120);
   $IM->setCompressionQuality(100);
   $IM->readImage($PDF);
   foreach($IM as $Key => $Var){
       $Var->setImageFormat('png');
       $Filename = $Path.'/'.md5($Key.time()).'.png';
       if($Var->writeImage($Filename)==true){
           $Return[]= $Filename;
       }
   }
   return $Return;
}
$pdf = __DIR__.'/1.pdf';
$path = __DIR__.'/images';
$data = pdf2png($pdf, $path );
var_dump($data);</code>
로그인 후 복사
로그인 후 복사

해결해 주세요:

<code>使用 MPDF 将HTML转为PDF,然后将该PDF转为PNG图片时有中文怎么才能不报错??
</code>
로그인 후 복사
로그인 후 복사

답글 내용:

1단계:

MPD(버전 6.1)를 사용하여 HTML 페이지를 PDF 파일로 변환하면 변환이 성공할 수 있습니다. 코드는 다음과 같습니다.

<code>$html = "对盲人初学者来说,它无需任何额外的修改。";
// $html = "These are the most used acronyms throughout this manual.";
include './mpdf/mpdf.php';
$mpdf=new mPDF('+aCJK'); 
$mpdf->autoScriptToLang = true;
$mpdf->autoLangToFont = true;
$mpdf->WriteHTML($html);
$mpdf->Output();</code>
로그인 후 복사
로그인 후 복사

2단계:

imagick을 사용하여 PDF를 이미지로 변환할 때
PDF 파일에 중국어가 없으면 변환 성공
PDF 파일에 중국어가 있으면, 오류가 직접 보고됩니다: , 오류 코드:

<code>Fatal error: Uncaught exception 'ImagickException' with message 'Failed to read the file' in /home/www/test/index-back.php:26 Stack trace: #0 /home/www/test/index-back.php(26): Imagick->readimage('/home/www/test/...') #1 /home/www/test/index-back.php(48): pdf2png('/home/www/test/...', '/home/www/test/...') #2 {main} thrown in /home/www/test/index-back.php on line 26</code>
로그인 후 복사
로그인 후 복사

참고: 추가로 공개 API의 PDF 설명 파일(기본적으로 모두 중국어로 되어 있음)을 찾았고 imagick을 사용하여 PDF를 png로 변환했는데 변환에 성공했습니다...

PDF를 이미지 코드로 변환:

<code>function pdf2png($PDF, $Path){
   if(!extension_loaded('imagick')){
       return false;
   }
   if(!file_exists($PDF)){
       return false;
   }
   $IM = new imagick();
   $IM->setResolution(120, 120);
   $IM->setCompressionQuality(100);
   $IM->readImage($PDF);
   foreach($IM as $Key => $Var){
       $Var->setImageFormat('png');
       $Filename = $Path.'/'.md5($Key.time()).'.png';
       if($Var->writeImage($Filename)==true){
           $Return[]= $Filename;
       }
   }
   return $Return;
}
$pdf = __DIR__.'/1.pdf';
$path = __DIR__.'/images';
$data = pdf2png($pdf, $path );
var_dump($data);</code>
로그인 후 복사
로그인 후 복사

해결해 주세요:

<code>使用 MPDF 将HTML转为PDF,然后将该PDF转为PNG图片时有中文怎么才能不报错??
</code>
로그인 후 복사
로그인 후 복사
관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿