PHP Imagick PDF转换文本别名
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP Imagick PDF转换文本别名,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1411字,纯文字阅读大概需要3分钟。
内容图文
我在使用PHP中的Imagick将PDF文件转换为JPEG时遇到了麻烦.
经过大量的研究,我能够将CMYK pdf转换为RGB jpg,而不需要进行奇怪的颜色转换……但现在,我的上一期:文本完全混淆了!原始PDF文件中的文本未进行矢量化.
一个例子 :
这是代码:
$imagick = new Imagick();
$imagick->setResolution(150,150);
$imagick->readImage('file.pdf');
//CMYK PROFILE
$icc = file_get_contents('USWebCoatedSWOP.icc');
$imagick->profileImage('icc', $icc);
$imagick->setImageColorspace(imagick::COLORSPACE_CMYK);
//RGB PROFILE
$icc = file_get_contents('sRGB_IEC61966-2-1_no_black_scaling.icc');
$imagick->profileImage('icc', $icc);
$imagick->setImageColorspace(imagick::COLORSPACE_RGB);
$imagick->setImageFormat( "jpg" );
$imagick->setImageCompression(imagick::COMPRESSION_JPEG);
$imagick->setImageCompressionQuality(90);
header( "Content-Type: image/jpeg" );
echo $imagick;
解决方法:
Image Magick使用Ghostscript实际渲染PDF,我认为您使用的是具有a bug in it的Ghostscript版本,这会导致文本无法正确消除锯齿.
我测试了您提供的代码,以及使用命令直接调用Ghostscript.
gs -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=1 -sDEVICE=pngalpha -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -r150 -sOutputFile=foo-%d.png flyer.pdf
默认情况下,我的Centos盒子使用的是Ghostscript版本8.70,它显示了你看到的问题,无论是从Imagick还是从上面的gs命令调用的.从here下载版本9.14会使文本在使用命令行时正确消除锯齿,并且可能在通过Imagick调用时.
内容总结
以上是互联网集市为您收集整理的PHP Imagick PDF转换文本别名全部内容,希望文章能够帮你解决PHP Imagick PDF转换文本别名所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。