IronPDF 操作指南 匯出PDF/A文檔 How to Export PDF/A or PDF/A-3 Format Documents in C# Curtis Chau 更新日期:8月 14, 2025 Download IronPDF NuGet 下載 DLL 下載 Windows 安裝程式 Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article This article was translated from English: Does it need improvement? Translated View the article in English role="alert">您的企業每年在 PDF 安全和合規上的訂閱開支過高。考慮 IronSecureDoc,該產品提供數位簽名、刪減、加密和保護等管理 SaaS 服務的解決方案,只需一次性付款。探索 IronSecureDoc 的文檔 作為PDF 協會成員,Iron Software 積極支持 PDF/A 標準,並確保 IronPDF 符合檔案存檔合規性要求。 IronPDF 支持將 PDF 導出為 PDF/A-3b 標準。 PDF/A-3B 是 ISO PDF 規範的嚴格子集,用於創建文檔封存版本,意圖是它們在保存後始終能夠以完全相同的方式呈現。 快速入門:在 C# 中將 PDF 轉換為 PDF/A-3b 只需幾行 C# 代碼即可輕鬆將您的標準 PDF 轉換為存檔的 PDF/A-3b 格式。 這確保了長期的文檔保存和與存檔標準的合規性。 通過利用 IronPDF 的強大功能,您可以快速將現有文檔轉換為 PDF/A 格式,保證一致的渲染和可訪問性。 Get started making PDFs with NuGet now: Install IronPDF with NuGet Package Manager PM > Install-Package IronPdf Copy and run this code snippet. IronPdf.PdfDocument pdf = IronPdf.PdfDocument.FromFile("example.pdf"); pdf.SaveAsPdfA("output.pdf"); Deploy to test on your live environment Start using IronPDF in your project today with a free trial Free 30 day Trial 508 條合規性 IronPDF 很高興跟隨谷歌的倡議,提高 PDF 銷存和可訪性以及 PDF 文檔的 508 條合規性。 在 2021 年,我們改用 Google Chromium HTML 渲染引擎從 HTML 渲染 PDF。這使得我們的軟件能夠繼承谷歌已經實施的可訪問性工作: 開始使用 IronPDF 立即開始在您的項目中使用 IronPDF 並免費試用。 第一步: 免費啟動 * class="hsg-featured-snippet">最小工作流程(5 步)下載用於創建 PDF/A 文件的 C# 庫從文件、HTML 或 URL 加載現有 PDF 或創建 PDF將現有 PDF 文件導出為 PDF/A 文檔將 HTML 設計或 URL 導出為 PDF/A 文檔將符合 PDF/A 的文檔保存到所需位置 PDF/A 版本 IronPDF 支持的兩種合規性等級分別是 A 和 B。 'A' 代表 '可訪問',而 'B' 代表 '基本'。這些等級適用於 PDF/A-1、PDF/A-2 和 PDF/A-3 標準。 以下信息摘自 Adobe 關於 PDF/A 的文獻。 默認情況下,通過 IronPDF 生成的 PDF 輸出始終是 PDF/A-3B(ISO 19005-3)。 Level A 符合規範滿足其規範中的所有要求,允許輔助軟件提高對肢體殘疾用戶的可訪性。 Level B 符合規範較低,僅滿足最低要求,主要關注於長期保持文件的視覺外觀。 PDF/A-1:PDF/A 格式基於最初的 PDF 1.4 版本。 PDF/A-2:於 2011 年 7 月作為稱為 ISO 32001-1 的新標準發佈,該標準包含所有最高至 1.7 版的 PDF 功能以及一些新功能。 其特點包括對 JPEG2000 的支持,這對掃描的文檔很有用,還有特定需求的自定義 XMP 元數據。 PDF/A-3:此 PDF/A 格式包含了第二級的所有要求,同時還允許在 PDF/A 合規的文檔中嵌入其他文件格式——如 XML、CSV 和文字處理格式。 請注意IronPdf 尚不支持將帶有附件的 PDF 轉換為 PDF/A-3B. 從現有 PDF 文件 我有一個示例 PDF 文件 "wikipedia.pdf",它是使用 IronPDF 生成並保存為 PDF 文件的。 在此演示中,我將加載並重新保存為 PDF/A-3B 合規的 PDF 文件。 輸入文件:"wikipedia.pdf" 代码 :path=/static-assets/pdf/content-code-examples/how-to/pdfa-fromfile.cs using IronPdf; // Create a PdfDocument object or open any PDF File PdfDocument pdf = PdfDocument.FromFile("wikipedia.pdf"); // Use the SaveAsPdfA method to save to file pdf.SaveAsPdfA("pdf-a3-wikipedia.pdf", PdfAVersions.PdfA3b); Imports IronPdf ' Create a PdfDocument object or open any PDF File Private pdf As PdfDocument = PdfDocument.FromFile("wikipedia.pdf") ' Use the SaveAsPdfA method to save to file pdf.SaveAsPdfA("pdf-a3-wikipedia.pdf", PdfAVersions.PdfA3b) $vbLabelText $csharpLabel 輸出 輸出文件符合 PDF/A-3b 合規性: 從 HTML 設計或 URL 我有一個示例 HTML 設計 "design.html",我希望使用 IronPDF 將其從 HTML 渲染為 PDF,然後導出為 PDF/A 合規文件。 在此演示中,我將其保存為 PDF/A-3B 合規的 PDF 文件。 HTML 設計示例 :path=/static-assets/pdf/content-code-examples/how-to/pdfa-fromhtml.cs using IronPdf; // Use the Chrome Renderer to make beautiful HTML designs var chromeRenderer = new ChromePdfRenderer(); // Render an HTML design as a PdfDocument object using Chrome PdfDocument pdf = chromeRenderer.RenderHtmlAsPdf("design.html"); // Use the SaveAsPdfA method to save to file pdf.SaveAsPdfA("design-accessible.pdf", PdfAVersions.PdfA3b); Imports IronPdf ' Use the Chrome Renderer to make beautiful HTML designs Private chromeRenderer = New ChromePdfRenderer() ' Render an HTML design as a PdfDocument object using Chrome Private pdf As PdfDocument = chromeRenderer.RenderHtmlAsPdf("design.html") ' Use the SaveAsPdfA method to save to file pdf.SaveAsPdfA("design-accessible.pdf", PdfAVersions.PdfA3b) $vbLabelText $csharpLabel 輸出文件符合 PDF/A-3B 合規性: URL 示例 我有以下網站 "https://www.microsoft.com",希望使用 IronPDF 將其從 URL 渲染為 PDF,然後導出為 PDF/A 合規文件。 在此演示中,我將其保存為 PDF/A-3B 合規的 PDF 文件。 :path=/static-assets/pdf/content-code-examples/how-to/pdfa-fromurl.cs using IronPdf; // Use the Chrome Renderer to make beautiful HTML designs from URLs var chromeRenderer = new ChromePdfRenderer(); // Render a Website as a PdfDocument object using Chrome PdfDocument pdf = chromeRenderer.RenderUrlAsPdf("https://www.microsoft.com"); // Use the SaveAsPdfA method to save to file pdf.SaveAsPdfA("website-accessible.pdf", PdfAVersions.PdfA3b); Imports IronPdf ' Use the Chrome Renderer to make beautiful HTML designs from URLs Private chromeRenderer = New ChromePdfRenderer() ' Render a Website as a PdfDocument object using Chrome Private pdf As PdfDocument = chromeRenderer.RenderUrlAsPdf("https://www.microsoft.com") ' Use the SaveAsPdfA method to save to file pdf.SaveAsPdfA("website-accessible.pdf", PdfAVersions.PdfA3b) $vbLabelText $csharpLabel 輸出文件符合 PDF/A-3B 合規性: 支持嵌入附件 IronPdf 提供在將文件轉換為 PDF/A 格式時嵌入文件的能力。 這可以通過多種輸入類型實現,例如文件路徑、字節數組或流。 用文件路徑嵌入 允許使用其文件路徑嵌入文件。 提供文件路徑集合,這些文件在 PDF/A 轉換過程中作為附件包括在內。 :path=/static-assets/pdf/content-code-examples/how-to/pdfa-attachment-path.cs using IronPdf; using System.Collections.Generic; PdfDocument pdf = new PdfDocument("Google.pdf"); // Initialize collection of embed file as string of path IEnumerable<string> embedPaths = new[] { "File1.xml", "File2.png" }; // Convert to Pdf/A-3B with embeded files pdf.ConvertToPdfA(embedPaths); Imports IronPdf Imports System.Collections.Generic Private pdf As New PdfDocument("Google.pdf") ' Initialize collection of embed file as string of path Private embedPaths As IEnumerable(Of String) = { "File1.xml", "File2.png" } ' Convert to Pdf/A-3B with embeded files pdf.ConvertToPdfA(embedPaths) $vbLabelText $csharpLabel 用字節數組嵌入 通過將文件內容作為字節數組提供以及相應的文件類型嵌入文件。這在文件已加載到內存中時很有用。 :path=/static-assets/pdf/content-code-examples/how-to/pdfa-attachment-byte.cs using IronPdf; using System.Collections.Generic; using System.IO; PdfDocument pdf = new PdfDocument("Google.pdf"); // Initialize collection of embed file as Bytes and their file type byte[] fileData1 = File.ReadAllBytes("File1.png"); byte[] fileData2 = File.ReadAllBytes("File2.xml"); var embedFileConfig1 = new EmbedFileConfiguration(EmbedFileType.png); embedFileConfig1.EmbedFileName = "logo.png"; var embedFileConfig2 = new EmbedFileConfiguration(EmbedFileType.xml) { EmbedFileName = "supportSystem.xml", AFDesc = "Internal system", ConformanceLevel = ConformanceLevel.XRECHNUNG, SchemaNamespace = SchemaNamespace.Zugferd1, SchemaPrefix = SchemaPrefix.rsm, PropertyVersion = PropertyVersion.v1p0, AFRelationship = AFRelationship.Supplement, }; IEnumerable<EmbedFileByte> embedBytes = new[] { new EmbedFileByte(fileData1, embedFileConfig1), new EmbedFileByte(fileData2, embedFileConfig2) }; // Convert to Pdf/A-3B with embeded files pdf.ConvertToPdfA(embedBytes).SaveAs("PdfACompliance.pdf"); Imports IronPdf Imports System.Collections.Generic Imports System.IO Private pdf As New PdfDocument("Google.pdf") ' Initialize collection of embed file as Bytes and their file type Private fileData1() As Byte = File.ReadAllBytes("File1.png") Private fileData2() As Byte = File.ReadAllBytes("File2.xml") Private embedFileConfig1 = New EmbedFileConfiguration(EmbedFileType.png) embedFileConfig1.EmbedFileName = "logo.png" Dim embedFileConfig2 = New EmbedFileConfiguration(EmbedFileType.xml) With { .EmbedFileName = "supportSystem.xml", .AFDesc = "Internal system", .ConformanceLevel = ConformanceLevel.XRECHNUNG, .SchemaNamespace = SchemaNamespace.Zugferd1, .SchemaPrefix = SchemaPrefix.rsm, .PropertyVersion = PropertyVersion.v1p0, .AFRelationship = AFRelationship.Supplement } Dim embedBytes As IEnumerable(Of EmbedFileByte) = { New EmbedFileByte(fileData1, embedFileConfig1), New EmbedFileByte(fileData2, embedFileConfig2) } ' Convert to Pdf/A-3B with embeded files pdf.ConvertToPdfA(embedBytes).SaveAs("PdfACompliance.pdf") $vbLabelText $csharpLabel 用流嵌入 提供使用流內容嵌入文件的能力,並附帶其文件類型。此方法適用於文件數據作為流處理的場景。 :path=/static-assets/pdf/content-code-examples/how-to/pdfa-attachment-stream.cs using IronPdf; using System.Collections.Generic; using System.IO; PdfDocument pdf = new PdfDocument("Google.pdf"); // Initialize collection of embed file as Stream and their file type Stream stream1 = new MemoryStream(File.ReadAllBytes("File1.png")); Stream stream2 = new MemoryStream(File.ReadAllBytes("File2.xml")); var embedFileConfig1 = new EmbedFileConfiguration(EmbedFileType.png); embedFileConfig1.EmbedFileName = "logo.png"; var embedFileConfig2 = new EmbedFileConfiguration(EmbedFileType.xml) { EmbedFileName = "supportSystem.xml", AFDesc = "Internal system", ConformanceLevel = ConformanceLevel.XRECHNUNG, SchemaNamespace = SchemaNamespace.Zugferd1, SchemaPrefix = SchemaPrefix.rsm, PropertyVersion = PropertyVersion.v1p0, AFRelationship = AFRelationship.Supplement, }; IEnumerable<EmbedFileStream> embedStreams = new[] { new EmbedFileStream(stream1, embedFileConfig1), new EmbedFileStream(stream2, embedFileConfig2) }; // Convert to Pdf/A-3B with embeded files pdf.ConvertToPdfA(embedStreams).SaveAs("PdfACompliance.pdf"); Imports IronPdf Imports System.Collections.Generic Imports System.IO Private pdf As New PdfDocument("Google.pdf") ' Initialize collection of embed file as Stream and their file type Private stream1 As Stream = New MemoryStream(File.ReadAllBytes("File1.png")) Private stream2 As Stream = New MemoryStream(File.ReadAllBytes("File2.xml")) Private embedFileConfig1 = New EmbedFileConfiguration(EmbedFileType.png) embedFileConfig1.EmbedFileName = "logo.png" Dim embedFileConfig2 = New EmbedFileConfiguration(EmbedFileType.xml) With { .EmbedFileName = "supportSystem.xml", .AFDesc = "Internal system", .ConformanceLevel = ConformanceLevel.XRECHNUNG, .SchemaNamespace = SchemaNamespace.Zugferd1, .SchemaPrefix = SchemaPrefix.rsm, .PropertyVersion = PropertyVersion.v1p0, .AFRelationship = AFRelationship.Supplement } Dim embedStreams As IEnumerable(Of EmbedFileStream) = { New EmbedFileStream(stream1, embedFileConfig1), New EmbedFileStream(stream2, embedFileConfig2) } ' Convert to Pdf/A-3B with embeded files pdf.ConvertToPdfA(embedStreams).SaveAs("PdfACompliance.pdf") $vbLabelText $csharpLabel 探索 EmbedFileConfiguration 當將 PdfDocument 轉換為包含嵌入文件的 PDF/A-3 格式時,重要的是要配置參數,例如 EmbedFilePath、EmbedFileByte 或 EmbedFileStream。 這些設置允許您指定要嵌入的文件類型、名稱以及任何希望包含的自定義 XMP 元數據。 妥善配置確保嵌入內容組織有效並符合 PDF/A-3 標準。 自定義 XMP 元數據允許關於嵌入文件的附加信息,增強文檔的總體可用性和可訪問性。 使用 EmbedFileConfiguration 類,開發人員可以輕鬆自定義文件的值和格式。 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"); 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"); Dim config = New EmbedFileConfiguration With { .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 Dim 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") $vbLabelText $csharpLabel EmbedFileName:一個代表 PDF/A 文件中嵌入文件名稱的 string 屬性。 默認情況下,此字符串為空。 AFDesc: A string property representing the associated file description for the embedded file. 默認情況下,此字符串為空。 ConformanceLevel:將嵌入的 XML 文件應用於 PDF/A 文件的 XMP 元數據的合規級別。 默認為 ConformanceLevel.EN16931。 IronPDF 通過 ConformanceLevel 枚舉提供不同的值。 SchemaNamespace:將 XML 文件嵌入到 XMP 元數據的 PDF/A 架構命名空間 URI。 默認為 SchemaNamespace.facturX,在 SchemaNamespace 枚舉中提供了多種選項供開發人員使用。 SchemaPrefix:將 XML 文件嵌入應用於 PDF/A 文件的 XMP 元數據的 PDF/A 架構前綴。 默認為 SchemaPrefix.fx,在 SchemaPrefix 枚舉中有多個選項可供選擇。 PropertyVersion:應用於 PDF/A 文件 XMP 元數據的 XML 文件嵌入屬性版本。 默認為 PropertyVersion.v1,在 PropertyVersion 枚舉中有多個選項。 AFRelationship:與 PDF/A 文檔相關的文件(嵌入文件)之間的關係。 在 AFRelationship 枚舉中提供多個選項。 字符顯示問題 PDF/A 要求文檔中的所有字符都必須映射到視覺和語義上正確的字體。 雖然並非所有字體都必須嵌入,但使用的字體必須支持所需的字形。如果使用了不正確或不完整的字體,某些字符可能會顯示破損、缺失或渲染不正確——尤其是在使用特殊腳本或符號的語言中。 例如,在下面的問題中,上面樣本使用了正確的字體並正確顯示了字符,而下面樣本由於字體不匹配而無法正確渲染它們。 準備看看您還能做哪些其他事情嗎? 請在此處查看我們的教學頁面:創建 PDF。 常見問題解答 如何在C#中將PDF轉換為PDF/A格式? 您可以使用 IronPDF 的轉換函數,在 C# 中將標準 PDF 轉換為 PDF/A 格式。具體操作方法是:載入 PDF 文檔,然後使用指定的 PDF/A 一致性等級儲存。 PDF/A-3b 與其他 PDF/A 標準有什麼不同? PDF/A-3b 是 ISO PDF 規範的子集,專注於透過確保文件呈現的一致性來長期保存文件。與其他 PDF/A 標準不同,PDF/A-3b 允許在文件中嵌入其他文件,例如 XML 或 CSV 文件。 如何使用 C# 將文件嵌入到 PDF/A 文件中? IronPDF 允許透過檔案路徑、位元組陣列或串流將 XML 或 CSV 等檔案嵌入到 PDF/A 文件中。這可以透過EmbedFileConfiguration類別進行配置,以設定檔案名稱、描述和元資料等參數。 HTML或URL內容能否轉換為PDF/A-3b格式? 是的,IronPDF 可以將 HTML 內容或 URL 轉換為 PDF/A-3b 格式。這包括將 HTML 或 URL 渲染成 PDF 格式,然後以符合 PDF/A-3b 規範的方式儲存文件。 PDF/A 文件支援哪些輔助功能? IronPDF 使用 Google 的 Chromium HTML 渲染引擎,該引擎繼承了 Google 實現的輔助功能,從而支援符合第 508 節標準的 PDF/A 文件的輔助功能。 如何確保我的 PDF/A 文件符合第 508 條的要求? IronPDF 利用 Google Chromium HTML 渲染引擎的輔助功能,確保您的 PDF/A 文件符合 Section 508 標準,這有助於使 PDF 文件可供輔助軟體存取。 EmbedFileConfiguration類別的用途是什麼? IronPDF 中的EmbedFileConfiguration類別允許開發人員配置在 PDF/A 文件中嵌入文件的參數,例如指定文件元資料並確保符合 PDF/A-3 標準。 我可以將帶有附件的 PDF 文件轉換為 PDF/A-3b 格式嗎? IronPDF 可以將帶有附件的 PDF 文件轉換為 PDF/A-3b 格式,但附件需要使用 IronPDF 提供的相應方法進行專門配置和嵌入。 IronPDF在PDF/A轉換方面有哪些優勢? IronPDF 為 PDF/A 轉換提供了許多優勢,包括符合歸檔標準、支援各種輸入格式、能夠嵌入其他文件以及包含全面的元資料自訂功能。 IronPDF 轉換為 PDF/A 格式時是否與 .NET 10 相容? 是的。 IronPDF 完全相容於 .NET 10,支援 PDF/A 轉換功能(例如 SaveAsPdfA)以及透過 ChromePdfRenderer 進行渲染。您可以在 .NET 10 專案中直接使用它,無需任何特殊設定。它還支援在 Windows、Linux、macOS 和容器上部署,目標平台為 .NET 10。 Curtis Chau 立即與工程團隊聊天 技術作家 Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。 準備好開始了嗎? Nuget 下載 16,133,208 | 版本: 2025.11 剛剛發布 免費 NuGet 下載 總下載量:16,133,208 查看許可證