Ios 在iPad应用程序生成的PDF中嵌入自定义字体
概述 我正在一个iPad应用程序中生成一个四页的PDF文档,该应用程序使用自定义字体Trade Gothic。它正确地嵌入到应用程序中,看起来很棒 然而,该应用程序的一部分是将PDF作为遗留文件发送电子邮件。此发送的文件将所有字体显示为默认的SAN类型,在一些系统上,我收到了无法找到或创建字体“RVYPRT+TradeGothicLTStd Light”的错误。某些字符可能无法正确显示或打印 我正在使用UIKit框架生成PDF。以下是使用相同过程的教程: 我的问题 如何将字体嵌入PDF输出,以便在发送后正确呈现为自定义字体而不是默认类型 提前谢谢 更新1:我发现了类似的未回答问题 更新2:有关字体的详细信息 字体,是一种OpenType字体,允许许可证嵌入 此外,使用的默认字体是标准字体 如果PDF文件中缺少某些字体,Adobe Acrobat和Adobe Reader将自动尝试使用这些程序内置的多个主字体之一模拟缺少的字体。这样,文档将不会完全按照设计者的要求来表示,但至少文本不会回流。用于此操作的多个主字体是:Adobe Serif MM和Adobe Sans MM 资料来源: 更新3:字体在PDF中引用,但未嵌入 应用程序似乎正在尝试嵌入字体,但未正确嵌入字体。以下是“文件->文档属性”下嵌入字体的屏幕截图: 我看到的第一个问题是字体被列为Type 1,而实际上它是OpenType字体。正如所料,“实际字体”是Sans-MM(未找到嵌入字体时使用的字体) 更新4:在另一个PDF(使用Adobe而非iPad应用程序生成)中,所需字体作为子集嵌入。我不确定,但这让我相信,应该可以通过编程来做同样的事情Ios 在iPad应用程序生成的PDF中嵌入自定义字体,ios,pdf,pdf-generation,embedded-fonts,Ios,Pdf,Pdf Generation,Embedded Fonts,概述 我正在一个iPad应用程序中生成一个四页的PDF文档,该应用程序使用自定义字体Trade Gothic。它正确地嵌入到应用程序中,看起来很棒 然而,该应用程序的一部分是将PDF作为遗留文件发送电子邮件。此发送的文件将所有字体显示为默认的SAN类型,在一些系统上,我收到了无法找到或创建字体“RVYPRT+TradeGothicLTStd Light”的错误。某些字符可能无法正确显示或打印 我正在使用UIKit框架生成PDF。以下是使用相同过程的教程: 我的问题 如何将字体嵌入PDF输出,以便
根据许可证,您使用的字体“看起来很棒”,TradeGothic不允许嵌入PDF(或其他)文档中 (字体设计师为什么要这么做超出了我的小脑筋。毕竟他们出售了用于文档的许可证,不是吗?——以及为什么(正如我最近亲身经历的那样)一家大公司会围绕一种这样的字体设计自己的企业标识,但由于“太便宜”并且只购买不允许嵌入的字体许可证,因此迫使员工向客户发送蹩脚的PDF,这只会让这个故事更加疯狂……) 从第二次更新中可以看出,您已经发现了这个事实 您似乎误解了“文档属性”屏幕截图:
- …本地未安装该字体,或
- …没有可用的Adobe Multiple Master字体技术,或
- …不要使用AdobeReader或Acrobat(这会包含MM内容)
更新: 基本上,“嵌入标志”可以表示四个(重要)不同级别的限制。(实际上,此标志仅适用于TrueType和OpenTypes,而不适用于更老式的PostScript Type1字体。从技术上讲,此标志的名称为fsType,它是一个位掩码,包含在TrueType和OpenType字体的OS/2表中……) 这些级别指定type foundry允许在文档中嵌入字体的位置、时间和用途(不仅是PDF,还包括Word、OpenOffice或任何其他文档类型:
你可以在安装了字体的系统上创建一个电子文档,你可以编辑它,你可以查看它。啊,你也可以打印它:Adobe PostScript打印机驱动程序将在PostScript文件中包含打印所需的所有字体元素。但仅此而已
文档中嵌入了字体,可以使用原始字体查看文档(即使在文档接收系统上也是如此)。但您不能用它做很多其他事情(例如,无文档编辑)。它使整个文档只读+仅打印。可以将内容复制和粘贴到另一个文档中,但不会使用(甚至不会传输)限制字体
可以(在接收系统上)编辑文档。但是,此操作的确切成功与否取决于