[返回博客](/cn/blog) # 在 Teigha PDF 导出中使用 PDF/A

Sergey Sherstnev 一月 12, 2017 [\#export](/cn/blog/tag/export) [\#pdf](/cn/blog/tag/pdf) [\#Example](/cn/blog/tag/example)

<a class="a2a_button_facebook"></a><a class="a2a_button_twitter"></a><a class="a2a_button_linkedin"></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 并支持嵌入文件 |

[![](/files/images/blog/2017-01-12-pic1.png)](/files/images/blog/2017-01-12-pic1.png)

要将 .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 导出属性”对话框中看到该选项：

[![](/files/images/blog/2017-01-12-pic2.png)](/files/images/blog/2017-01-12-pic2.png)

由于 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 天。  
无风险，无需信用卡。**

[免费试用](https://www.opendesign.com/cn/free-trial)
