在 Teigha PDF 导出中使用 PDF/A

Teigha 包含一个 PDF 导出模块,可用于将 CAD 文件格式导出为高质量 PDF。该导出模块包含许多选项,允许 Teigha 客户端应用程序微调生成的 PDF 文件的内容。本文解释了如何配置 PDF 导出以生成 PDF/A 文档。

PDF/A 是可移植文档格式 (Adobe® PDF) 的 ISO 标准化版本,专为电子文档的归档和长期保存而设计。PDF/A 与 PDF 的不同之处在于,它禁止了不适合长期归档的功能,例如字体链接(而不是字体嵌入)和加密。PDF/A 文件查看器的 ISO 要求包括颜色管理指南、对嵌入字体的支持以及用于读取嵌入注释的用户界面。

PDF/A 标准有几个版本:

PDF/A-1 第 1 部分: 使用 PDF 1.4
PDF/A-2 第 2 部分: 使用 ISO 32000-1
PDF/A-3 第 3 部分: 使用 ISO 32000-1 并支持嵌入文件

要将 .pdf 文档格式化为 PDF/A,请在 PdfExportParams 中设置相应的标志:

enum PDF_A_mode
    {
        /** PDF/A format is not supported*/
        kPDFA_None = 0,
        /**PDF/A-1b version*/
        kPDFA_1b,
        /**PDF/A-2b version*/
        kPDFA_2b
    };

使用 void setArchived(PDF_A_mode mode) 方法。在 OdaMfcApp.exe 示例应用程序中,您可以在“自定义 PDF 导出属性”对话框中看到该选项:

由于 PDF/A-2 和 PDF/A-3 之间的唯一区别是对嵌入文件的支持,这对于 CAD 应用程序和图纸没有意义,因此 Teigha 仅支持前两个标准版本。但是,强烈建议使用第二个标准版本来归档图纸,因为 PDF/A-1 版本存在一些限制:

  • PDF/A-1 不支持图层。因此,如果选择 PDF/A-1 格式,图层将被禁用。
  • PDF/A-1 不支持透明度。因此,透明度也将被禁用。此外,“MergeControl”参数将设置为“线条覆盖”模式。
  • 根据规范,实际值(如坐标)不能大于 32767,因此文档分辨率可能会降低。
  • 根据规范,字符串(包括流和流部分)不能大于 64K,因此在这种情况下,图片质量将设置为最小值,ASCII 十六进制编码将被禁用,并且将启用平面编码以减少出现问题的可能性。
  • PDF/A-1 不支持测量,因此它将被禁用。

PDF/A-2 版本没有这些限制,如果不需要 PDF/A-1 版本用于特定目的,则建议使用。

最后,还有一些与两种 PDF/A 标准版本相关的问题:

  • 字体必须嵌入到 PDF/A 文档中。这对于长期保存很有意义,但会导致文档大小增加。
  • PDF/A 标准不支持 3D 注释,因此如果您尝试将 PRC 文档(使用 3D 注释)导出到 PDF/A,导出将返回 exInternalError。与上述不兼容参数(图层、DPI 等)的问题不同,在这种情况下,PdfExport 模块无法优先处理调用者的需求。因此,这种情况由客户端应用程序自行处理。

今天就开始行动

免费试用 ODA 软件 60 天。
无风险,无需信用卡。

免费试用