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

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

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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿