如何在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

輸出

導出的文件通過了PDF/UA-1的veraPDF合規檢查器:

veraPDF合規檢查器顯示成功通過PDF/UA-1驗證,並帶有綠色的合規確認資訊

PDF/UA-1和PDF/UA-2之間有什麼區別?

PDF/UA-1 (ISO 14289-1)是最早的PDF通用可及性標準,於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

[[i:(SaveAs()之前運行。 )SaveAsPdfUA()在一個呼叫中為您進行轉換。]] )}]


如何直接將HTML渲染為PDF/UA?

呼叫RenderHtmlAsPdfUA將HTML轉換為PDF/UA文件,一步即完成,這適用於新的文件和來自網頁應用程式的動態內容。 該方法使用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

Microsoft 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合規性?

IronSuite在我們的運營中扮演著至關重要的角色。這些工具增加了包括建立平面圖和改善庫存管理在內的業務效率。

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操作(如合併或拆分PDF)一起運行,以規模化地組裝可及文件。 標準採用這些步驟組合,因此合併的報告可以從端到端保持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格式?

使用IronPDF,您可以使用SaveAsPdfUA方法將現有PDF轉換為PDF/UA格式。只需使用PdfDocument.FromFile()載入您的PDF,然後調用SaveAsPdfUA()即可將其導出為無障礙PDF/UA文件。

PDF/UA合規性的好處是什麼?

透過IronPDF的PDF/UA合規性,提供準確的螢幕閱讀器支持、小螢幕上的文字重排、改進的可搜尋性和索引、跨平台的長期無障礙性以及符合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文件?

在使用IronPDF導出您的PDF/UA文件後,您可以使用veraPDF合規檢查軟體驗證其合規性,以確保符合所有無障礙要求。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

準備開始了嗎?
Nuget 下載 20,296,129 | 版本: 2026.7 剛剛發布
Still Scrolling Icon

還在捲動嗎?

想快速獲得證明嗎? PM > Install-Package IronPdf
執行範例 看您的HTML變成PDF。