我的iPhone应用程序创建PDF文件( Arial字体)。普通的PDF3.1.x版本运行良好(除了在iPhone上创建的iPhone文件无法在Google Docs或BlackBerry上正确查看的已知问题)。
当我为OS3.2和iPad更新我的项目时,它的功能是一样的,而且PDF文件在iPhone,iPad和Mac (预览应用)上看起来仍然很棒。但现在在Windows (Vista)上,Acrobat 9.3.1显示“无法提取嵌入字体'XYZABC+ArialMT‘。某些字符可能无法正确显示或打印”。
实际上,Acrobat使用了一些通用字体,而不是Arial (或者我尝试的其他任何字体)。
Quartz 3.2似乎在每次创建PDF文件时都会生成这些“随机”的嵌入式字体名称(每次XYZABC都会发生变化)。我不知道问题是否仅仅是有些奇怪的带有加号的“临时”嵌入字体名称,还是Quartz 3.2嵌入字体的方式。
我已经尝试了我的现有代码(使用CGPDFContext*函数)和新支持的UIGraphics*函数,都得到了相同的结果。
如何在iPad上创建PDF文件才能在Windows上正确显示?
发布于 2010-08-19 04:01:33
重要更新:从Quartz 4.2开始,苹果已经修复了我报告的错误;iOS上的Quartz生成的PDF现在包含正确嵌入的字体。我把这个答案的其余部分保留原样,但是在iOS 4.2或更高版本上不使用这种机制。
Adobe Reader是正确的,如果没有帮助,遵循PDF规范。我对此进行了调查,因为它影响了我的一个应用程序,并在此处记录了我的发现:http://web.archive.org/web/20180909095127/http://blog.nomzit.com/2010/08/18/annoying-bug-in-quartz-pdfcontext-font-handling/
这里记录了一个简单的解决方法,它可以使Adobe Reader与更有用的替代方案具有相同的行为。
我也已经向Apple报告了这个bug
发布于 2010-08-05 04:37:35
试着用Foxit Reader打开你的文件,而不是Adobe Reader。这对我很管用。
发布于 2010-04-14 02:05:05
在iPad上使用页面时,也会出现同样的问题。我很有兴趣找到一个答案:
http://discussions.apple.com/thread.jspa?threadID=2389034&tstart=0
https://stackoverflow.com/questions/2589645
复制相似问题