如何在C#中导出PDF UA格式文档

如何在IronPDF C#中导出PDF/UA格式文档

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

IronPDF通过使用RenderHtmlAsPdfUA从HTML直接构建一个可访问的PDF。 该库编写PDF/UA-1 (ISO 14289-1)PDF/UA-2 (ISO 14289-2:2024),为屏幕阅读器和其他辅助技术标记文档。

PDF/UA定义了PDF如何携带其结构:一个标记的内容树,图像的替代文本,声明的阅读顺序以及文档语言。 符合标准的文件满足《康复法》第508条的可访问性要求,这就是政府机构、学校和受监管行业依赖它的原因。

快速入门:生成符合 PDF/UA 规范的文档

加载现有PDF并在一次调用中将其转换为PDF/UA标准。 您可以从NuGet安装IronPDF以进行跟进。

  1. 使用 NuGet 包管理器安装 https://www.nuget.org/packages/IronPdf

    PM > Install-Package IronPdf
  2. 复制并运行这段代码。

    IronPdf.PdfDocument.FromFile("input.pdf").SaveAsPdfUA("output_pdfua.pdf");
  3. 部署到您的生产环境中进行测试

    通过免费试用立即在您的项目中开始使用IronPDF

    arrow pointer

请注意示例默认生成PDF/UA-1。 IronPDF也使用下面显示的版本参数编写PDF/UA-2 (ISO 14289-2:2024)


如何导出 PDF/UA 文档?

使用NaturalLanguage参数来声明文档的语言,辅助技术使用该参数来选择正确的发音。 IronPDF默认编写PDF/UA-1,以及在您请求时编写PDF/UA-2。

在导出期间,IronPDF构建PDF/UA要求的标记结构树,将已附加到图像的替代文本携带过来,并根据源内容设置阅读顺序。 带有正确标题、图像替代文本和逻辑布局的源文档可以干净转换。 对于需要首先添加结构的文档,请在调用导出之前设置文档元数据和标题

输入

导出 PDF/UA 需要哪些代码?

下面的例子将现有PDF转换为PDF/UA-1,当需要满足可访问性规则时,就是传承文档的情况。 转换保留页面内容,同时添加标签、语言声明和结构,这是标准期望的。

:path=/static-assets/pdf/content-code-examples/how-to/pdfua-fromfile.cs
using IronPdf;

// Open PDF File
PdfDocument pdf = PdfDocument.FromFile("wikipedia.pdf");

// Export as PDF/UA compliance PDF
pdf.SaveAsPdfUA("pdf-ua-wikipedia.pdf");
Imports IronPdf

' Open PDF File
Dim pdf As PdfDocument = PdfDocument.FromFile("wikipedia.pdf")

' Export as PDF/UA compliance PDF
pdf.SaveAsPdfUA("pdf-ua-wikipedia.pdf")
$vbLabelText   $csharpLabel

输出

导出文件通过了veraPDF一致性检查器的PDF/UA-1验证:

veraPDF一致性检查器显示PDF/UA-1验证成功,并附有绿色合规确认消息

PDF/UA-1 和 PDF/UA-2 有什么区别?

PDF/UA-1 (ISO 14289-1)是于2012年发布的原始通用可访问性标准,设置了可访问文件的基准:标记内容、辅助技术支持和定义的阅读顺序。

PDF/UA-2 (ISO 14289-2:2024)是当前版本。 它增加了对现代PDF特性的处理,例如表单字段、注释、多媒体和嵌套文档结构,并与PDF 2.0规范保持一致,同时保持以前版本的可访问性保证。

请注意PDF/UA-2基于PDF 2.0通过QPDF编写,具有其更新的功能集和格式兼容性。

要针对PDF/UA-2,传递版本到SaveAsPdfUA方法中:

:path=/static-assets/pdf/content-code-examples/how-to/pdfua-pdfua2.cs
using IronPdf;

// Load existing PDF
var pdf = PdfDocument.FromFile("input.pdf");

// Export as PDF/UA-2 format
pdf.SaveAsPdfUA("output_pdfua2.pdf", PdfUAVersions.PdfUA2);
Imports IronPdf

' Load existing PDF
Dim pdf = PdfDocument.FromFile("input.pdf")

' Export as PDF/UA-2 format
pdf.SaveAsPdfUA("output_pdfua2.pdf", PdfUAVersions.PdfUA2)
$vbLabelText   $csharpLabel

如何在内存中转换为 PDF/UA-2 文件?

当您需要在写入文件之前执行更多更改时,请调用ConvertToPdfUA()以在内存中转换文档,然后继续进行其他操作并在最后保存:

:path=/static-assets/pdf/content-code-examples/how-to/pdfua-convert-ua2.cs
using IronPdf;

// Open PDF File
PdfDocument pdf = PdfDocument.FromFile("input.pdf");

// Convert to PDF/UA-2 in memory
pdf.ConvertToPdfUA(PdfUAVersions.PdfUA2);

// Perform additional modifications if needed
// ...

// Save the converted document
pdf.SaveAs("output-ua2.pdf");
Imports IronPdf

' Open PDF File
Dim pdf As PdfDocument = PdfDocument.FromFile("input.pdf")

' Convert to PDF/UA-2 in memory
pdf.ConvertToPdfUA(PdfUAVersions.PdfUA2)

' Perform additional modifications if needed
' ...

' Save the converted document
pdf.SaveAs("output-ua2.pdf")
$vbLabelText   $csharpLabel

请注意SaveAs()之前运行。
SaveAsPdfUA()为您在一次调用中执行转换。) )}]


如何直接渲染HTML到PDF/UA?

调用RenderHtmlAsPdfUA以一步将HTML转换为PDF/UA文档,适用于新文档和从Web应用程序发布的动态内容。 该方法接受NaturalLanguages值,因此输出中包含正确的语言标签。

以可访问性为目的编写HTML:使用语义元素,保持清晰的标题层次结构,为每个图像添加替代文本,并让内容按阅读顺序流动。 PDF/UA还需要文档标题,因此在保存之前设置MetaData.Title。 相同的方法推动我们更广泛的创建符合508条目要求的PDF指南。

哪些代码可将 HTML 渲染成 PDF/UA?

此示例从语义HTML生成一个PDF/UA文件。 标题和段落映射到结构标签,而元数据标题为文档提供PDF/UA所需的标识。

:path=/static-assets/pdf/content-code-examples/how-to/pdfua-render-html-to-pdfua.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

// html is a large stright above of a full html page with <html><head><style><body> etc...
var pdf = renderer.RenderHtmlAsPdfUA(@"
    <!DOCTYPE html>
    <html>
    <head>
        <title>Document</title>
    </head>
    <body>
        <h1>Heading 1</h1>
        <h2>Heading 2</h2>
        <p>Paragraph text</p>
    </body>
    </html>");

pdf.MetaData.Title = "v2025.1";

pdf.SaveAs("html-string-ua-ironpdf.pdf");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

' html is a large stright above of a full html page with <html><head><style><body> etc...
Private pdf = renderer.RenderHtmlAsPdfUA("
    <!DOCTYPE html>
    <html>
    <head>
        <title>Document</title>
    </head>
    <body>
        <h1>Heading 1</h1>
        <h2>Heading 2</h2>
        <p>Paragraph text</p>
    </body>
    </html>")

pdf.MetaData.Title = "v2025.1"

pdf.SaveAs("html-string-ua-ironpdf.pdf")
$vbLabelText   $csharpLabel

输出

如何验证 PDF/UA 合规性?

使用veraPDF一致性检查器验证输出,这是一种免费的开源工具,可以测试PDF/UA-1和PDF/UA-2并报告任何结构缺口。在您构建可访问性工作流程时,在每次导出后运行,因为缺少标题或未标记图像在验证时比在生产中更容易被发现。


Icon Quote related to 如何验证 PDF/UA 合规性?

我最喜欢的这种库是 IronPDF。它允许快速高效地操作 PDF 文件。它还具有许多有价值的功能,比如导出为 PDF/A 格式和数字签名 PDF 文档。

Milan Jovanovic related to 如何验证 PDF/UA 合规性?

Milan Jovanovic

微软MVP

查看案例研究
Icon Quote related to 如何验证 PDF/UA 合规性?

IronOCR 意味着我们每年可以节省 $40,000 的人工处理成本,同时提高生产力,并释放资源用于高影响任务。我强烈推荐它。

Brent Matzelle related to 如何验证 PDF/UA 合规性?

Brent Matzelle

首席技术官,OPYN

查看案例研究
Icon Quote related to 如何验证 PDF/UA 合规性?

Iron Suite 在我们的运营中起着至关重要的作用。这些工具提高了业务各方面的效率,包括创建平面图和改善库存管理。

David Jones related to 如何验证 PDF/UA 合规性?

David Jones

首席软件工程师,Agorus Build

查看案例研究

PDF/UA 有哪些优点?

PDF/UA合规性不仅仅是为了满足法规而且有更大好处:

  1. 可访问性:屏幕阅读器和辅助技术能够为有视觉障碍的用户正确读取标记结构。
  2. 移动阅读:文本重排使得文件在小屏幕上可阅读,无需水平滚动。
  3. 可搜索性:定义的结构提高了索引和文档内搜索功能。
  4. 持久性:标记文档在各平台和软件更新中保留其可访问性功能。
  5. 法律合规:该格式符合508条及类似的政府要求的可访问性文件标准。

对于构建交互式文件的团队,将PDF/UA导出与可访问PDF表单配对,可以让每个字段都有一个辅助技术可以公告的标签。

如何将 PDF/UA 集成到我的工作流程中?

首先将结构添加到源中。 当遗留文件缺少这些时,请在转换之前添加元数据和文档标题以便导出拥有PDF/UA需要的语言和标识。

对于大批量的管道,运行PDF/UA导出与其他IronPDF操作如合并或拆分PDFs一起以大规模组装可访问的文件。 标准与这些步骤结合,因此合并的报表可以端到端保持PDF/UA合规。 IronPDF在Windows,Linux和Azure上生成相同的标记输出,因此您在本地验证的合规性在任何地方部署都有效。

结论

现在在IronPDF中有三种途径可以获得可访问的PDF:使用RenderHtmlAsPdfUA直接呈现HTML标准,每种都可以写入PDF/UA-1或PDF/UA-2,并声明语言和文档标题。 从这里将相同的可访问性方法应用于您的文档工作流程的其他部分,创建符合508条款要求的PDF

常见问题解答

什么是 PDF/UA,为什么它很重要?

PDF/UA 是 PDF 文档的可访问性标准,可确保与屏幕阅读器等辅助技术的兼容性。IronPDF 支持 PDF/UA 导出,帮助您满足第 508 条合规要求,使残障用户也能访问文档。

如何将现有 PDF 转换为 PDF/UA 格式?

using IronPDF,您可以使用 SaveAsPdfUA 方法将现有 PDF 转换为 PDF/UA 格式。只需使用 PdfDocument.FromFile() 加载 PDF,然后调用 SaveAsPdfUA() 将其导出为可访问的 PDF/UA 文档即可。

符合 PDF/UA 标准有哪些好处?

通过IronPDF实现PDF/UA合规性,提供准确的屏幕阅读器支持、小屏幕上的文本重排、改进的可搜索性和索引性、跨平台的长期可访问性以及符合Section 508的法律合规性,使文档对所有用户可访问。

我能否指定 PDF/UA 文档的语言?

是的,IronPDF 允许您在使用 SaveAsPdfUA 方法时填充 naturalLanguages 参数,以指定 PDF 文档的自然语言,这对于正确的屏幕阅读器功能非常重要。

该库生成什么版本的 PDF/UA?

默认情况下,IronPDF生成PDF/UA-1(ISO 14289-1),这是可访问PDF文档的广泛采用标准。您还可以通过将版本参数传递给SaveAsPdfUA方法来指定目标PDF/UA-2(ISO 14289-2:2024)。

如何验证我的 PDF/UA 文档?

using IronPDF 导出 PDF/UA 文档后,您可以使用 veraPDF Conformance Checker 软件验证其一致性,以确保它符合所有可访问性要求。

Curtis Chau
技术作家

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

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

准备开始了吗?
Nuget 下载 20,296,129 | 版本: 2026.7 刚刚发布
Still Scrolling Icon

还在滚动吗?

想快速获得证据? PM > Install-Package IronPdf
运行示例看着你的HTML代码变成PDF文件。