php – 使用TCPDF生成的UTF-8 PDF在Adobe Acrobat中显示正常,但在Illustrator和Google预览中已损坏
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 使用TCPDF生成的UTF-8 PDF在Adobe Acrobat中显示正常,但在Illustrator和Google预览中已损坏,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1302字,纯文字阅读大概需要2分钟。
内容图文
![php – 使用TCPDF生成的UTF-8 PDF在Adobe Acrobat中显示正常,但在Illustrator和Google预览中已损坏](/upload/InfoBanner/zyjiaocheng/783/1daa33e32ee74414a2995eeeab222631.jpg)
我使用PHP和TCPDF生成以utf8编码的在线发票.我已经使用PT-sans .ttf文件在tcpdf网站上的教程之后创建了字体定义文件.
使用Adobe Reader打开时,生成的pdf文件看起来很好(重音显示正确).但是一旦用Adobe Illustrator打开pdf文件,就会看到正常的ascii字符和缺少字符符号的混合.在gmail预览中作为附件打开时,根本不显示任何文本,只显示图像.
我也与福昕阅读器的行为不一致.它在一台计算机上安装了(安装了字体),但在另一台计算机上损坏(没有安装字体).
Illustrator(左侧)和福昕阅读器printcreen:http://dl.dropbox.com/u/14647415/illustrator%20and%20foxit.jpg
以下是损坏文件的副本:http://dl.dropbox.com/u/14647415/2011040-3.pdf
PDF的大小为±200kB,因此字体似乎正确嵌入.
这似乎与任何utf8字体一起发生,嵌入了tcpdf网站上描述的过程.当我尝试使用tcpdf库附带的核心cid字体时,重音字符丢失了,或者已被替换为?,但是在Illustrator中也可以使用整体布局和文本.像Dejavusans这样的附加utf-8字体也显示出损坏.
我使用’UTF-8’作为传递给tcpdf构造函数的参数.
类XTCPDF扩展了TCPDF
{
function __construct(){
parent::__construct('P', 'mm', 'A4', true, 'UTF-8', false);
...
}
...
}
你对可能导致这种情况的原因有什么看法吗?
非常感谢你提前.
页.
解决方法:
问题显然是由TCPDF自动对字体进行子集化引起的.这导致了除了Acrobat之外的字符集(字符被“移位”,“0”被解释为“A”等)的问题.
解决方法是设置:
$pdf->setFontSubsetting(false);
并根据您要使用的字符集手动对字体进行子集化以减少生成的文件大小.
内容总结
以上是互联网集市为您收集整理的php – 使用TCPDF生成的UTF-8 PDF在Adobe Acrobat中显示正常,但在Illustrator和Google预览中已损坏全部内容,希望文章能够帮你解决php – 使用TCPDF生成的UTF-8 PDF在Adobe Acrobat中显示正常,但在Illustrator和Google预览中已损坏所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。