php mpdf html 转pdf,使用 MPDF 将HTML转为PDF,然后将该PDF转为PNG图片的时候,中文报错... ......

当使用MPDF将HTML转换为包含中文的PDF后,通过Imagick进行PDF转PNG时遇到错误。问题在于Imagick可能无法正确处理中文字符。解决方法可能包括更新Imagick到最新版本,确保支持中文编码,或者在转换前对PDF进行预处理,如设置正确的字体和编码。
摘要由CSDN通过智能技术生成

第一步:

使用 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图片时有中文怎么才能不报错??

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值