Tom*_*Tom 5 pdf pdf-generation embedded-fonts ios
概观
我在iPad应用程序中生成一个四页PDF文档,该文档使用自定义字体Trade Gothic.它正确嵌入到应用程序中,看起来很棒.
但是,该应用程序的一部分是通过电子邮件发送PDF作为留下.此发送文件将所有字体显示为默认sans类型,在少数系统上,我收到错误无法找到或创建字体'RVYPRT + TradeGothicLTStd-Light'.某些字符可能无法正确显示或打印.
我正在使用UIKit Framework生成PDF.这是一个使用相同过程的教程:http://www.ioslearner.com/generate-pdf-programmatically-iphoneipad/
我的问题
如何将字体嵌入PDF输出中,以便在发送后将其正确显示为自定义字体而非默认类型.
提前致谢!
更新1:我发现的类似未解答的问题
更新2:有关字体的更多信息
字体http://store1.adobe.com/cfusion/store/html/index.cfm?store=OLS-US&event=displayFont&code=TRDQ10003000是一个OpenType字体,允许通过许可证嵌入.
此外,使用的默认字体是标准的.
如果PDF文件中缺少某些字体,Adobe Acrobat和Adobe Reader将自动尝试使用这些程序中内置的多个Master字体之一来模拟丢失的字体.这样,文档将不会像设计者想要的那样完全表示,但至少文本不会重排.用于此的多主字体是:Adobe Serif MM和Adobe Sans MM
来源:http://www.prepressure.com/pdf/basics/fonts
更新3: 字体在PDF中引用,但未嵌入
该应用程序似乎试图嵌入字体,但它们没有正确嵌入.以下是文件 - >文档属性下嵌入字体的屏幕截图:

我看到的第一个问题是,当字体实际上是OpenType字体时,字体被列为类型1.正如预期的那样,"实际字体"是Sans MM(找不到嵌入字体时使用的字体).
更新4:在另一个PDF(使用Adobe生成,而不是iPad应用程序)中,所需的字体作为子集嵌入.我不确定,但这让我相信应该可以通过编程方式做同样的事情.

根据其许可证,您使用的字体和"看起来很棒"的字体,TradeGothic,不允许嵌入到PDF(或其他)文档中.
(为什么字体设计师想要做到这一点超出了我的小脑袋.毕竟他们出售了许可证用于文件,不是吗? - 为什么[我最近经历过第一手资料]一个大公司会设计他们的企业形象围绕着一种这样的字体,但后来"太便宜",只购买不允许嵌入的字体许可证,因此迫使他们的员工向他们的客户发送糟糕的PDF,这对这个故事只会更加疯狂......)
从第二次更新中可以看出,您已经发现了这一事实.
您似乎误解的是"文档属性"屏幕截图:
这些PDF接收系统发出警告"无法找到或创建字体'RVYPRT + TradeGothicLTStd-Light'.某些字符可能无法正确显示或打印"并没有错.他们只是......
我的简单建议,多年来在我的客户面前重复了数百次:
更新:
基本上,"嵌入标志"可以表示四个(重要的)不同级别的限制.(实际上,这个标志仅适用于TrueType和OpenTypes,而不适用于更老式的PostScript Type1字体.从技术上讲:这个标志的名称是fsType,它是一个位掩码,它包含在OS/2中 TrueType和OpenType字体表....)
这些级别指定类型代工厂允许在文档中嵌入字体的位置和时间以及用于何种目的(不仅是PDF,还包括Word,OpenOffice或任何其他文档类型:
字体的"嵌入"标志可能指示另外两个(不太重要)限制:
在许多情况下,当软件本身中没有包含fsType标志时,Adobe软件会将此字体视为允许仅打印+仅预览嵌入的字体.
有关此主题的详细信息可以从Adobe白皮书中了解"第三方开发人员的字体嵌入指南".
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           3087 次  |  
        
|   最近记录:  |