Heim  >  Artikel  >  Backend-Entwicklung  >  Wenn Sie MPDF zum Konvertieren von HTML in PDF verwenden und das PDF dann in ein PNG-Bild konvertieren, wird eine Fehlermeldung auf Chinesisch angezeigt ...

Wenn Sie MPDF zum Konvertieren von HTML in PDF verwenden und das PDF dann in ein PNG-Bild konvertieren, wird eine Fehlermeldung auf Chinesisch angezeigt ...

WBOY
WBOYOriginal
2016-09-28 08:54:071486Durchsuche

Schritt eins:

Verwenden Sie MPDF (Version 6.1), um HTML-Seiten in PDF-Dateien zu konvertieren, und die Konvertierung kann erfolgreich sein. Der Code lautet wie folgt:

<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>

Schritt 2:

Wenn Sie mit imagick PDF in ein Bild konvertieren,
Wenn die PDF-Datei kein Chinesisch enthält , ist die Konvertierung erfolgreich
Wenn die PDF-Datei Chinesisch enthält , ein Fehler wird direkt gemeldet: , Fehlercode:

<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>

Hinweis: Außerdem habe ich eine PDF-Beschreibungsdatei der öffentlichen API gefunden (im Grunde alles auf Chinesisch), habe imagick verwendet, um das PDF in PNG zu konvertieren, und die Konvertierung war erfolgreich...

PDF zum Bildcode:

<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>

Bitte lösen Sie:

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

Antwortinhalt:

Schritt eins:

Verwenden Sie MPDF (Version 6.1), um HTML-Seiten in PDF-Dateien zu konvertieren, und die Konvertierung kann erfolgreich sein. Der Code lautet wie folgt:

<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>

Schritt 2:

Wenn Sie mit imagick PDF in ein Bild konvertieren,
Wenn die PDF-Datei kein Chinesisch enthält , ist die Konvertierung erfolgreich
Wenn die PDF-Datei Chinesisch enthält , ein Fehler wird direkt gemeldet: , Fehlercode:

<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>

Hinweis: Außerdem habe ich eine PDF-Beschreibungsdatei der öffentlichen API gefunden (im Grunde alles auf Chinesisch), habe imagick verwendet, um das PDF in PNG zu konvertieren, und die Konvertierung war erfolgreich...

PDF zum Bildcode:

<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>

Bitte lösen Sie:

<code>使用 MPDF 将HTML转为PDF,然后将该PDF转为PNG图片时有中文怎么才能不报错??
</code>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn