赞
踩
使用 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图片时有中文怎么才能不报错??
相关阅读:
rails里有像Django这样的模板继承吗?该怎么使用
Windows 为什么占用很多内存?
文章一键发布多家平台
为什么des加密后输出乱码?
我用blob存储的字符串,那读取的时候php怎么转化为字符串呢?
请问有没有用dva框架做的react的demo啊?
java自己写的工具类异常如何处理?
这种圆角应该怎么样算的
laravel5 模板变量不能解析
为什么我的grpc proto文件是这样的?
angularJS 中的ng-include路径里面可以放变量吗?为什么我写的不行?请帮忙看看!
java连接本机的sqlserver2008出现错误
这个vue.js的下拉选择框能否优化一下?
有没有兼容的js调用安卓、ios的拍照、录像、录音接口?
vueJS中watch的item值拿不到老数据
调用函数的时候加不加* 有什么区别?
JAVA通过LDAP做用户登录认证,怎么做业务的异常处理?
后台管理系统的界面框架
jetty response 数据时,write阻塞了,何解?
Python re.sub() 的一个奇怪问题?
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。