使用 MPDF 將HTML轉為PDF,然後將該PDF轉為PNG圖片的時候,中文報錯... ...

來源:互聯網
上載者:User

第一步:

使用 MPDF(版本6.1) 將 HTML 頁面轉為PDF檔案,可以轉成功。代碼如下:

$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();

第二步:

使用 imagick 實現 PDF 轉 圖片 的時候,
如果 PDF 檔案中 沒有中文,則轉換成功
如果 PDF 檔案中 有中文,則直接報錯:,報錯代碼:

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

備忘:另外,自己找了一個公開API的PDF說明檔案(基本全是中文), 使用 imagick把該PDF轉成png,轉換成功功功功...

PDF 轉 圖片 代碼:

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

求解決:

使用 MPDF 將HTML轉為PDF,然後將該PDF轉為PNG圖片時有中文怎麼才能不報錯??

回複內容:

第一步:

使用 MPDF(版本6.1) 將 HTML 頁面轉為PDF檔案,可以轉成功。代碼如下:

$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();

第二步:

使用 imagick 實現 PDF 轉 圖片 的時候,
如果 PDF 檔案中 沒有中文,則轉換成功
如果 PDF 檔案中 有中文,則直接報錯:,報錯代碼:

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

備忘:另外,自己找了一個公開API的PDF說明檔案(基本全是中文), 使用 imagick把該PDF轉成png,轉換成功功功功...

PDF 轉 圖片 代碼:

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

求解決:

使用 MPDF 將HTML轉為PDF,然後將該PDF轉為PNG圖片時有中文怎麼才能不報錯??
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.