IRONSOFTWAREHOME

How to Export PDF/A, PDF/A-3, or PDF/A-4 Format Documents in C#

Curtis Chau
Curtis Chau
Updated: 2026年6月4日

IronPDF支援將PDF匯出到PDF/A-3b和PDF/A-4標準。 PDF/A-3B是ISO PDF規範的一個嚴格子集,用於建立檔案版本的文件,其目的是確保它們在保存時始終顯示完全相同。 PDF/A-4是最新的合規標準,提供增強的數位簽名支持。

第508節合規性

IronPDF遵循Google的倡議,以提高PDF儲存和第508節合規性下的可及性。 在進行HTML到PDF轉換時,我們的渲染引擎會保留所有可及性功能。

在2021年,我們開始使用Google Chromium的HTML渲染引擎來從HTML渲染PDF。這使得我們的軟體可以繼承Google已經實施的可及性工作

為甚麼第508節合規性對PDF/A文件至關重要?

第508節合規性確保PDF文件對使用像螢幕閱讀器之類的輔助技術的殘疾人士是可及的。 符合第508節標準的PDF/A文件保證內容在檔案壽命期間保持可及。 這種合規性對於保障政府機構、教育機構和組織提供平等資訊接取的所有使用者至關重要。


IronPDF支持哪些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-2和PDF/A-3之間有何不同?

**PDF/A-1:**基於原始的PDF 1.4版本。

**PDF/A-2:**於2011年7月作為ISO 32001-1發佈,包含所有至1.7版的PDF功能以及新特性。 支援JPEG2000用於掃描文件和針對自定義XMP詮釋資料的特定要求。 在處理PDF詮釋資料時,IronPDF確保正確的XMP詮釋資料處理。

**PDF/A-3:**包括所有2級要求。 允許將其他文件格式—XML、CSV和文字處理格式—嵌入到PDF/A符合文件中。

**PDF/A-4:**PDF/A合規標準的最新版本,於2020年發佈。它基於PDF 2.0並引入了增強的功能,包括比PDF/A-3更強的數位簽名支持。此版本最適合用於需涉及3D模型和其他複雜元素的工程文件和技術工作流程。

功能PDF/A-3PDF/A-4
基礎PDF版本PDF 1.7PDF 2.0
嵌入文件附件支持不支持
數位簽名支持增強支持
最佳使用案例發票、XML資料嵌入工程、3D模型、技術工作流程
請注意: IronPDF尚不支持將附加文件的PDF轉換為PDF/A-3B。

轉換到最新的PDF/A-4標準

PDF/A-4是PDF/A系列中的最新合規標準。 被認為是多種需要用到數位簽名的文件型別的最佳檔案格式。 該格式禁止加密和多媒體元素,確保每個文件完全自成一體。

將現有文件轉換為符合PDF/A-4標準十分簡單。

using IronPdf;

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

// Save as PDF/A-4 compliant document
pdf.SaveAsPdfA("pdfa4-output.pdf", PdfAVersions.PdfA4);

從現有PDF文件(PDF/A-3B)

此範例使用wikipedia.pdf,一個使用IronPDF生成的PDF文件。 為獲得最佳效果,請在開始轉換之前確保您已正確配置您的許可金鑰

下面的程式碼載入並重新保存該文件為PDF/A-3B和PDF/A-4符合格式,以展示與兩種標準的相容性。

在轉換前輸入的PDF看起來如何?

什麼程式碼能將現有PDF轉換為PDF/A格式?

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);

我如何驗證PDF/A轉換是否成功?

輸出文件符合PDF/A-3b:

veraPDF符合性檢查器顯示成功的PDF/A-3B驗證,綠色合規消息

從HTML設計或URL(PDF/A-3B)

此範例使用design.html,一個HTML設計文件,使用IronPDF從HTML渲染到PDF並匯出為PDF/A符合文件。HTML文件到PDF轉換過程在轉換期間保留所有樣式和格式。

下方程式碼將輸出保存為符合PDF/A-3B的PDF文件。

如何將HTML文件轉換為PDF/A格式?

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);

輸出文件符合PDF/A-3B:

veraPDF符合性檢查器顯示成功的PDF驗證,綠色合規消息

如何將網站轉換為PDF/A格式?

此範例使用IronPDF從URL將https://www.microsoft.com渲染到PDF並匯出為PDF/A符合文件。URL到PDF轉換功能確保所有網頁內容,包括JavaScript和CSS,均被正確渲染。

下方程式碼將輸出保存為符合PDF/A-3B的PDF文件。

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);

輸出文件符合PDF/A-3B:

veraPDF符合性檢查器顯示成功的PDF/A-3B驗證綠色合規訊息和報告選項


我最喜歡的程式庫是IronPDF。它允許快速高效地操作PDF文件。它還有許多有價值的功能,例如導出到PDF/A格式和數位簽署PDF文件。

Milan Jovanovic

Microsoft MVP

查看案例研究

IronOCR意味著我們每年可以從手動處理中節省$40,000,同時提高生產力,釋放資源以進行高影響的任務。我會強烈推薦它。

Brent Matzelle

首席技術官,OPYN

查看案例研究

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

David Jones

首席軟體工程師,Agorus Build

查看案例研究

支持嵌入附件(PDF/A-3B)

IronPDF在PDF/A轉換期間支持使用文件路徑、字節陣列或流將文件嵌入到PDF文件中。 此功能建立自成一體的檔案文件,包含所有必要的支持材料。 有關更多高級PDF操作功能,請查看我們的PDF編輯教程

請注意: 注意:嵌入文件附件僅在PDF/A-3B中支持。) PDF/A-4不支持嵌入附件。

用文件路徑嵌入

使用其文件路徑嵌入文件。 提供一系列文件路徑,並在PDF/A轉換時將這些文件作為附件納入。

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);

如何使用字節陣列嵌入文件?

通過提供文件內容的字節陣列和其文件型別來嵌入文件。當文件已載入到記憶體中時非常實用。

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");

如何使用流嵌入文件?

使用流的文件型別嵌入資料。當文件資料處理為流時非常理想。

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");

如何使用EmbedFileConfiguration配置嵌入文件屬性?

在使用嵌入文件轉換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");
  • EmbedFileName: 一個string屬性,代表PDF/A文件中的嵌入文件名稱。 預設為空字串。
  • AFDesc: 一個string屬性,代表嵌入文件的相關文件描述。預設為空字串。
  • ConformanceLevel: 嵌入XML文件的合規級別,適用於PDF/A文件的XMP詮釋資料。 預設為ConformanceLevel.EN16931。 IronPDF通過ConformanceLevel枚舉提供不同的值。
  • SchemaNamespace: 嵌入XML文件的PDF/A架構命名空間URI,適用於PDF/A文件的XMP詮釋資料。 預設為SchemaNamespace枚舉中提供了不同選項。
  • SchemaPrefix: 嵌入XML文件的PDF/A架構前綴,適用於PDF/A文件的XMP詮釋資料。 預設為SchemaPrefix枚舉中提供了多個選項。
  • PropertyVersion: 嵌入XML文件的屬性版本,適用於PDF/A文件的XMP詮釋資料。 預設為PropertyVersion枚舉中提供多個選項。
  • AFRelationship: 相關文件(嵌入文件)與PDF/A文件的關係。 在AFRelationship枚舉中提供了多個選項。

什麼原因導致PDF/A中的字元顯示問題?

PDF/A要求文件中的所有字元必須映射到視覺上和語義上正確的字體。 雖然並非所有字體都必須嵌入,但所用字體必須支持所需的字形。如果使用不正確或不完整的字體,某些字元可能會出現斷裂、缺失或錯誤呈現的情況,尤其是在有特殊書寫系統或符號的語言中。 為進行文件大小優化,可以查看我們的PDF壓縮指南來在字體嵌入和文件大小之間取得平衡。

為什麼某些字元在PDF/A文件中顯示為破損?

例如,在下面的問題中,上方範例使用正確的字體並正確顯示字元,而下方範例由於字體不匹配而無法正確呈現。

字元編碼比較顯示PDF/A轉換中DejaVuSans和Times New Roman字體損壞

從現有PDF文件(PDF/A-4)

此範例使用"ENV-2026-1847-Assessment-Report.pdf",一份8頁的市政環境影響評估文件。 該報告展示了PDF/A-4對於需要長期保存的政府機構文件檔案的重要性——環境研究、法規文件和維持多年的合規記錄。

PDF/A-4對這些文件來說是理想的選擇,因為它能保證隨著時間的視覺一致性,嵌入所有字體和資源,並支持官方認證所需的增強數位簽名功能。

輸入文件:"ENV-2026-1847-Assessment-Report.pdf"

程式碼

using IronPdf;

// Load the environmental impact assessment document
PdfDocument pdf = PdfDocument.FromFile("ENV-2026-1847-Assessment-Report.pdf");

// Save as PDF/A-4 compliant document for long-term archival
pdf.SaveAsPdfA("ENV-2026-1847-Report-PDFA4Compliant.pdf", PdfAVersions.PdfA4);

輸出

輸出文件符合PDF/A-4:

veraPDF符合性檢查器顯示成功的PDF/A-4驗證用於環境評估報告

準備好想看看還能做什麼嗎? 查看我們的教程頁面在這裡:建立PDF

常見問題

我如何在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通過使用Google Chromium的渲染引擎來確保508條款合規,這繼承了Google的無障礙功能。這意味著您的PDF/A文件將對使用輔助技術(如螢幕閱讀器)的殘疾人士可存取。

我可以直接將HTML內容轉換為PDF/A格式嗎?

當然!IronPDF允許您將HTML內容或URL直接轉換為PDF/A-3b格式。Google Chromium的渲染引擎在將HTML轉換為PDF的過程中保留所有無障礙特性,確保生成的PDF/A文件完全合規。

使用PDF/A-3b而非標準PDF格式的主要優勢是什麼?

IronPDF的PDF/A-3b匯出提供保證的長期保存、一致的影像呈現、符合508條款的無障礙合規及符合ISO歸檔標準。這使其非常適合法律文件、政府記錄和任何需要永久保存的內容。

Does IronPDF allow embedding files within PDF/A documents?

IronPDF supports embedding files in PDF/A-3B documents using file paths, byte arrays, or streams. This feature is useful for creating self-contained archival documents with all necessary supporting materials included.

What steps are involved in converting PDFs to PDF/A format using IronPDF?

The process involves downloading the IronPDF library, loading an existing PDF or rendering from HTML/URL, selecting the desired PDF/A version, and finally converting and saving the document as a PDF/A-compliant file.

How can IronPDF help solve character display issues in PDF/A documents?

Character display issues often arise due to incorrect font mappings. IronPDF ensures that appropriate fonts supporting required glyphs are used, preventing broken or missing characters and maintaining the document's visual integrity over time.

What types of documents benefit from conversion to PDF/A-4 using IronPDF?

PDF/A-4 is suitable for documents that require long-term preservation, such as engineering documents, environmental studies, regulatory filings, and compliance records. IronPDF ensures these documents remain visually consistent and digitally signed if needed.

Why is PDF/A compliance important for archival and regulatory documents?

PDF/A compliance is crucial for ensuring that documents can be reliably preserved and rendered over time. It meets legal and regulatory requirements for document archiving and ensures accessibility and integrity for future access.

Curtis Chau
技術作家

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

...
閱讀更多

準備開始了嗎?

Nuget Downloads 20,809,720版本:2026.9剛剛發布

立即獲取免費

立即獲取 30天試用金鑰

bullet_checked無需信用卡或註冊帳號
bullet_test在生產
環境中進行測試,且不顯示浮水印
bullet_calendar30 天全
功能產品
bullet_support試用期間提供 24/5 技術
支援
立即獲取您的免費30天試用密鑰
不需要信用卡或建立賬戶
C# 用於PDF的NuGet程式庫
使用NuGet安裝

版本: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. 在解決方案資源管理器,右鍵點選參考,管理NuGet包
  2. 選擇瀏覽並搜尋"IronPdf"
  3. 選擇套件並安裝
C# PDF DLL
下載DLL

版本: 2026.9

或者點擊此處下載Windows安裝程式。

  1. 下載並解壓IronPDF到類似~/Libs的位置,位於您的解決方案目錄中
  2. 在Visual Studio解決方案資源管理器,右鍵點選參考。選擇瀏覽,"IronPdf.dll"

授權從$999

有問題嗎?聯絡我們的開發團隊。

Key in blue circle

立即免費取得 30 天試用金鑰

Your trial license will be sent to your email address

無任何限制。100% 解鎖。無需信用卡。

bullet_checked無需信用卡或建立帳號無任何限制。100% 解鎖。無需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
預訂您的免費現場演示
Booking Badge

受到全球數百萬工程師的信任

Iron Software的客戶標誌
獲取您的無義務諮詢
填寫以下表格或電子郵件sales@ironsoftware.com
您的詳細資訊將始終保密
受到全球數百萬工程師的信任
Iron Software的客戶標誌
立即獲取您的30天試用金鑰
無需信用卡或帳戶建立