Mor*_*gan 5 pdf iphone fonts ipad cgpdfcontext
我的iPhone应用程序创建PDF文件(Arial字体).普通的iPhone 3.1.x版本运行良好(除了在iPhone Docs或BlackBerry上无法正确查看iPhone上创建的PDF文件的已知问题).
当我更新我的OS 3.2和iPad项目时,它的工作原理相同,而且iPhone,iPad和Mac OS X(预览应用程序)上的PDF文件看起来仍然很棒.但是现在在Windows(Vista)上,Acrobat 9.3.1说"无法提取嵌入字体'XYZABC + ArialMT'.某些字符可能无法正确显示或打印".
事实上,Acrobat然后使用一些通用字体而不是Arial(或我尝试的任何其他字体).
每次创建PDF文件时,Quartz 3.2似乎都会生成这些"随机"嵌入字体名称(每次XYZABC都会发生变化).我不知道问题是否只是带有加号的有点奇怪的"临时"嵌入字体名称,或者Quartz 3.2嵌入字体的方式.
我已经尝试了我现有的代码(使用CGPDFContext*函数),以及新支持的UIGraphics*函数,结果相同.
如何在iPad上创建PDF文件以在Windows上正确显示?
重要更新:从 iOS 4.2 开始,Apple 已经修复了我报告的错误;从 iOS 上的 Quartz 生成的 PDF 现在包含正确嵌入的字体。我将保留此答案的其余部分,但不要在 iOS 4.2 或更高版本上使用此机制。
Adobe Reader 正确地遵循了 PDF 规范,尽管没有什么帮助。我对此进行了调查,因为它影响了我的一个应用程序,并在这里记录了我的发现:http://web.archive.org/web/20180909095127/http ://blog.nomzit.com/2010/08/18/annoying-石英中的错误-pdfcontext-字体处理/
那里记录了一个简单的解决方法,它可以使 Adobe Reader 的行为与更有用的替代方案相同。
我也已向 Apple 报告了该错误