如何使用 IronPDF 在 C# 中转换 PDF 为 PDF/A

使用 IronPDF 在 C# 中导出 PDF/A 或 PDF/A-3.

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF 使 C# 开发人员能够将标准 PDF 导出到 PDF/A-3b 标准,以符合长期存档的要求。 通过 Google Chromium 的渲染引擎,文件将完全按照保存的内容呈现,同时满足第 508 条的可访问性要求。

作为 PDF 协会会员,Iron Software 积极支持 PDF/A 标准,并确保 IronPDF 符合存档合规性要求。 我们的IronPDF/A里程碑式更新表明了我们对长期文档保存的承诺。

IronPDF支持按照PDF/A-3b标准导出PDF文件。 PDF/A-3B 是 ISO PDF 规范的一个严格子集,用于创建文档的存档版本,其渲染效果始终与保存时一模一样。

快速开始:在 C# 中将 PDF 转换为 PDF/A-3b

使用 IronPDF 以最少的代码将标准 PDF 转换为存档 PDF/A-3b 格式。 这确保了长期的文档保存和符合存档标准。 将现有文件转换为 PDF/A 格式,以实现一致的渲染和可访问性。

Nuget Icon立即开始使用 NuGet 创建 PDF 文件:

  1. 使用 NuGet 包管理器安装 IronPDF

    PM > Install-Package IronPdf

  2. 复制并运行这段代码。

    IronPdf.PdfDocument pdf = IronPdf.PdfDocument.FromFile("example.pdf");
    pdf.SaveAsPdfA("output.pdf");
  3. 部署到您的生产环境中进行测试

    立即开始在您的项目中使用 IronPDF,免费试用!
    arrow pointer

IronPDF 如何确保符合第 508 条的规定? IronPDF 遵循谷歌的倡议,提高 PDF 的归档和可访问性,以符合第 508 条的规定。 在使用 [HTML 转换为 PDF](https://ironpdf.com/tutorials/html-to-pdf/) 时,我们的渲染引擎会保留所有无障碍功能。 2021 年,我们转而使用 Google Chromium 的 HTML 渲染引擎从 HTML 渲染 PDF。这使得我们的软件可以继承[谷歌已经实现的可访问性工作](https://blog.chromium.org/2020/07/using-chrome-to-generate-more.html)。

为什么符合第 508 条对于 PDF/A 文档很重要? 第 508 条合规性确保使用屏幕阅读器等辅助技术的残障人士可以访问 PDF 文档。 符合第 508 条标准的 PDF/A 文档可确保内容在存档期间保持可访问性。 对于政府机构、教育机构以及为所有用户提供平等信息获取途径的组织而言,这一合规性至关重要。

今天在您的项目中使用 IronPDF,免费试用。

第一步:
green arrow pointer
*

IronPDF 支持哪些 PDF/A 版本? IronPdf 支持一致性级别 A 和 B。 "A"代表"可访问","B"代表"基本"。这些级别适用于 PDF/A-1、PDF/A-2 和 PDF/A-3 标准。 以下信息来自 [Adobe 的 PDF/A 文档](https://www.adobe.com/uk/acrobat/resources/document-files/pdf-types/pdf-a.html)。 默认情况下,通过 IronPDF 生成的 PDF 输出为 PDF/A-3B (ISO 19005-3)。 - **A级**一致性符合所有规范要求,允许辅助软件提高身体受损用户的可访问性。 - **级别 B**的一致性较低,合规性极低,侧重于长期保持视觉外观。

PDF/A-1、PDF/A-2 和 PDF/A-3 之间有哪些区别? **PDF/A-1**:基于原始 PDF 1.4 版本。 **PDF/A-2**:于 2011 年 7 月作为 ISO 32001-1 发布,包括 PDF 1.7 以前版本的所有功能以及新功能。 支持扫描文件的 JPEG2000 和定制 XMP 元数据的特定要求。 在处理 [PDF 元数据](https://ironpdf.com/how-to/metadata/)时,IronPDF 可确保正确处理 XMP 元数据。 **PDF/A-3**:包含所有 2 级要求。 允许将其他文件格式--XML、CSV 和文字处理格式--嵌入到符合 PDF/A 标准的文档中。 @@--BRACKET-i-OPEN--@IronPdf暂不支持将带有附件文件的PDF转换为PDF/A-3B。

如何将现有 PDF 文件转换为 PDF/A? 我有一个使用 IronPDF 生成并保存为 PDF 文件的 PDF 示例"`wikipedia.pdf`"。为获得最佳效果,请确保您在开始转换之前已[正确配置了许可证密钥](https://ironpdf.com/how-to/license-keys/)。 在本演示中,我将加载并重新保存为符合 PDF/A-3B 合规性的 PDF 文件。

输入的 PDF 在转换前是什么样子?

哪些代码可将现有 PDF 转换为 PDF/A 格式? ```csharp :path=/static-assets/pdf/content-code-examples/how-to/pdfa-fromfile.cs ```

如何验证 PDF/A 转换是否成功? 输出文件符合 PDF/A-3b ![veraPDF 一致性检查程序显示成功的 PDF/A-3B 验证,并带有绿色合规信息](/static-assets/pdf/how-to/pdfa/wikipedia-pdfa-passed.webp)。

如何从 HTML 设计或 URL 生成 PDF/A? 我有一个 HTML 设计示例"`design.html`",要使用 IronPDF 从 HTML 渲染成 PDF,并导出为符合 PDF/A 标准的文件。[HTML文件到PDF的转换](https://ironpdf.com/how-to/html-file-to-pdf/)过程在转换过程中保持了所有的样式和格式。 在本演示中,我将其保存为符合 PDF/A-3B 的 PDF 文件。

如何将 HTML 文件转换为 PDF/A 格式? ```csharp :path=/static-assets/pdf/content-code-examples/how-to/pdfa-fromhtml.cs ``` 输出文件符合 PDF/A-3B ![veraPDF 一致性检查程序显示 PDF 验证成功,并带有绿色合规性消息](/static-assets/pdf/how-to/pdfa/design-pdfa-passed.webp)。

如何将网站转换为 PDF/A 格式? 我的网站"`https://www.microsoft.com`"要使用 IronPDF 从 URL 渲染成 PDF,并导出为符合 PDF/A 标准的文件。[URL到PDF的转换](https://ironpdf.com/how-to/url-to-pdf/)功能可确保所有网页内容(包括 JavaScript 和 CSS)都能正确呈现。 在本演示中,我将其保存为符合 PDF/A-3B 的 PDF 文件。 ```csharp :path=/static-assets/pdf/content-code-examples/how-to/pdfa-fromurl.cs ``` 输出文件符合 PDF/A-3B ![veraPDF 一致性检查程序显示成功的 PDF/A-3B 验证,并带有绿色合规性信息和报告选项](/static-assets/pdf/how-to/pdfa/website-pdfa-passed.webp)。

如何在 PDF/A 文档中嵌入附件? IronPDF 提供将文件嵌入 PDF 文档的功能,同时转换为 PDF/A 格式。 可以使用文件路径、字节数组或数据流来实现这一目标。 该功能可创建包含所有必要辅助材料的独立存档文件。 有关更多高级 PDF 操作功能,请查看我们的 [ PDF 编辑综合教程](https://ironpdf.com/tutorials/csharp-edit-pdf-complete-tutorial/)。

如何使用文件路径嵌入文件? 使用文件路径嵌入文件。 我们提供了一系列文件路径,这些文件将在 PDF/A 转换过程中作为附件包含在内。 ```csharp :path=/static-assets/pdf/content-code-examples/how-to/pdfa-attachment-path.cs ```

如何使用字节数组嵌入文件? 通过以字节数组的形式提供文件内容及其各自的文件类型来嵌入文件。当文件已加载到内存中时非常有用。 ```csharp :path=/static-assets/pdf/content-code-examples/how-to/pdfa-attachment-byte.cs ```

如何使用流嵌入文件? 使用流为内容嵌入文件及其文件类型。以流的形式处理文件数据时的理想选择。 ```csharp :path=/static-assets/pdf/content-code-examples/how-to/pdfa-attachment-stream.cs ```

如何使用 EmbedFileConfiguration 配置嵌入式文件属性? 将 `PdfDocument` 转换为带有嵌入文件的 PDF/A-3 格式时,请配置参数,如 `EmbedFilePath`, `EmbedFileByte` 或 `EmbedFileStream`. 这些设置指定了嵌入文件的类型、名称和自定义 XMP 元数据。 适当的配置可确保有效组织嵌入内容,并符合 PDF/A-3 标准。 自定义 XMP 元数据可以获得有关嵌入文件的更多信息,从而提高文档的可用性和可访问性。 使用 `EmbedFileConfiguration` 类,开发人员可以轻松自定义文件的值和格式。 ```csharp var config = new EmbedFileConfiguration { EmbedFileName = "Attachment.xml", AFDesc = "Associated File Description", ConformanceLevel = ConformanceLevel.EN16931, SchemaNamespace = SchemaNamespace.facturX, SchemaPrefix = SchemaPrefix.fx, PropertyVersion = PropertyVersion.v1, AFRelationship = AFRelationship.Alternative }; // Load a PDF document var document = PdfDocument.FromFile("wikipedia.pdf"); // Configure embedded file parameters document.EmbedFileFromFilePath("path/to/attachment", config); // Save the document as PDF/A-3b document.SaveAsPdfA3B("output-with-configured-attachment.pdf"); ``` -<代码>EmbedFileName:代表 PDF/A 文档中嵌入文件名的 `string` 属性。 默认为空字符串。 -<代码>AFDesc:代表嵌入文件的关联文件描述的 `string` 属性。默认为空字符串。 - `ConformanceLevel`:应用于 PDF/A 文档 XMP 元数据的 XML 文件嵌入合规性水平。 默认为 `ConformanceLevel.EN16931`。 IronPDF 通过 `ConformanceLevel` 枚举提供不同的值。 - `SchemaNamespace`:嵌入 XML 文件并应用于 PDF/A 文档 XMP 元数据的 PDF/A Schema NamespaceURI。 默认值为 `SchemaNamespace.facturX`,`SchemaNamespace` 枚举中提供了各种选项。 - `SchemaPrefix`:PDF/A 模式前缀,用于嵌入适用于 PDF/A 文档 XMP 元数据的 XML 文件。 默认值为 `SchemaPrefix.fx`,在 `SchemaPrefix` 枚举中有多个选项。 - `PropertyVersion`:应用于 PDF/A 文档 XMP 元数据的嵌入 XML 文件的属性版本。 默认为 `PropertyVersion.v1`,在 `PropertyVersion` 枚举中有多个选项。 - `AFRelationship`:关联文件(嵌入文件)与 PDF/A 文档的关系。 在 `AFRelationship` 枚举中有几个选项可用。

是什么导致了 PDF/A 中的字符显示问题? PDF/A 要求将文档中的所有字符映射到视觉和语义正确的字体上。 虽然并非所有字体都必须嵌入,但所使用的字体必须支持所需的字形。如果使用了不正确或不完整的字体,某些字符可能会出现断裂、缺失或错误呈现的情况,尤其是在使用特殊脚本或符号的语言中。 关于文件大小优化的注意事项,请浏览我们的[PDF压缩指南](https://ironpdf.com/how-to/pdf-compression/),以平衡字体嵌入与文件大小之间的关系。

为什么某些字符在 PDF/A 文档中出现断裂? 例如,在下面的问题中,上面的样本使用了正确的字体并能正确显示字符,而下面的样本由于字体不匹配而无法正确显示字符。 ![字符编码比较,显示从 DejaVuSans 和 Times New Roman 转换 PDF/A 时的字体损坏](/static-assets/pdf/how-to/pdfa/display-issue.webp)。 准备好看看您还能做些什么吗? 在此查看我们的教程页面:[创建 PDF](https://ironpdf.com/tutorials/csharp-create-pdf-complete-tutorial/)。

常见问题解答

如何用 C# 将标准 PDF 转换为 PDF/A-3b 格式?

使用 IronPDF,只需两行代码,您就可以将任何标准 PDF 转换为 PDF/A-3b 格式。只需使用 PdfDocument.FromFile() 加载 PDF,然后调用 SaveAsPdfA() 将其导出为兼容的 PDF/A-3b 文档,以便长期存档。

什么是 PDF/A-3b,为什么它对文件存档很重要?

PDF/A-3b 是 ISO PDF 规范的一个严格子集,旨在长期保存文档。IronPdf 支持 PDF/A-3b 导出,以确保您的文档始终按保存的格式呈现,因此非常适合文档完整性至关重要的法律、政府和存档用途。

PDF/A 转换是否支持第 508 条可访问性合规性?

是的,IronPDF 通过使用谷歌 Chromium 的渲染引擎,继承了谷歌的可访问性功能,从而确保符合第 508 条的规定。这意味着使用屏幕阅读器等辅助技术的残疾用户可以访问您的 PDF/A 文档。

我可以将 HTML 内容直接转换为 PDF/A 格式吗?

当然可以!IronPDF 允许您将 HTML 内容或 URL 直接转换为 PDF/A-3b 格式。在将 HTML 转换为 PDF 的过程中,Google Chromium 渲染引擎会保留所有可访问性功能,确保您生成的 PDF/A 文档完全合规。

与标准 PDF 格式相比,使用 PDF/A-3b 的主要好处是什么?

IronPDF 的 PDF/A-3b 导出可保证长期保存、在所有阅读器上呈现一致的效果、符合第 508 条可访问性规定并遵守 ISO 存档标准。这使其成为法律文件、政府记录和任何需要永久存档的内容的完美选择。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。

准备开始了吗?
Nuget 下载 16,685,821 | 版本: 2025.12 刚刚发布