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
Freigeben: 2016-09-28 08:54:07
Original
1485 Leute haben es durchsucht

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>
Nach dem Login kopieren
Nach dem Login kopieren

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>
Nach dem Login kopieren
Nach dem Login kopieren

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>
Nach dem Login kopieren
Nach dem Login kopieren

Bitte lösen Sie:

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

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>
Nach dem Login kopieren
Nach dem Login kopieren

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>
Nach dem Login kopieren
Nach dem Login kopieren

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>
Nach dem Login kopieren
Nach dem Login kopieren

Bitte lösen Sie:

<code>使用 MPDF 将HTML转为PDF,然后将该PDF转为PNG图片时有中文怎么才能不报错??
</code>
Nach dem Login kopieren
Nach dem Login kopieren
Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage