So exportieren Sie PDF/A- oder PDF/A-3-Formatdokumente in C
IronPDF unterstützt den Export von PDFs in den PDF/A-3b-Standard. PDF/A-3B ist eine strenge Untermenge der ISO-PDF-Spezifikation, die zur Erstellung von Archivierungsversionen von Dokumenten verwendet wird, die immer genau so wiedergegeben werden sollen, wie sie gespeichert wurden.
Einhaltung von Abschnitt 508
IronPDF freut sich, die Initiative von Google zur Verbesserung der PDF-Archivierung und -Zugänglichkeit sowie zur Einhaltung von Section 508 für PDF-Dokumente zu unterstützen.
Im Jahr 2021 haben wir damit begonnen, PDFs aus HTML mit der Google Chromium HTML-Rendering-Engine zu rendern. Dadurch kann unsere Software die barrierefreien Funktionen nutzen, die Google bereits implementiert hat:
Erste Schritte mit IronPDF
Beginnen Sie noch heute mit der Verwendung von IronPDF in Ihrem Projekt mit einer kostenlosen Testversion.
Wie man PDF in PDF/A in C# konvertiert.

- C#-Bibliothek zum Erstellen von PDF/A-Dokumenten herunterladen
- Vorhandene PDF-Datei laden oder aus Datei, HTML oder URL erstellen
- Exportieren eines PDF/A-Dokuments aus einer bestehenden PDF-Datei
- Exportieren Sie ein PDF/A-Dokument aus einem HTML-Design oder einer URL
- Speichern Sie das PDF/A-konforme Dokument an dem gewünschten Ort
PDF/A-Versionen
IronPDF unterstützt zwei Konformitätsstufen: A und B. a" steht für "barrierefrei" und "B" für "einfach" Diese Stufen sind für die Standards PDF/A-1, PDF/A-2 und PDF/A-3 verfügbar. Die untenstehenden Informationen wurden Adobes Dokumentation zu PDF/A entnommen.
- Ebene A-Konformität erfüllt alle Anforderungen in ihrer Spezifikation und ermöglicht assistiver Software, die Zugänglichkeit für physisch beeinträchtigte Benutzer zu verbessern.
-
Level B hat ein niedrigeres Konformitätsniveau mit minimaler Übereinstimmung und konzentriert sich darauf, das visuelle Erscheinungsbild der Datei langfristig zu bewahren.
PDF/A-1: Das PDF/A-Format basiert auf der ursprünglichen PDF 1.4-Version.
PDF/A-2: Veröffentlicht im Juli 2011 als neuer Standard namens ISO 32001-1, umfasst dieser Standard alle Funktionen der PDF-Versionen bis 1.7 sowie neue Funktionen. Zu den Merkmalen gehören die Unterstützung von JPEG2000, was für gescannte Dokumente praktisch ist, und spezifische Anforderungen für angepasste XMP-Metadaten.
PDF/A-3: Dieses PDF/A-Format enthält alle Anforderungen der Stufe 2. Es erlaubt auch das Einbetten zusätzlicher Dateiformate wie XML, CSV und Textverarbeitungsformate in PDF/A-konforme Dokumente.
Bitte beachten Sie
IronPDF unterstützt derzeit noch nicht die Konvertierung eines PDFs mit einer angehängten Datei zu PDF/A-3B.
Aus einer vorhandenen PDF-Datei
Ich habe ein Beispiel-PDF "wikipedia.pdf
", das mit IronPDF erstellt und als PDF-Datei gespeichert wurde.
Ich werde sie in dieser Demonstration als PDF/A-3B-konforme PDF-Datei laden und wieder abspeichern.
Eingabedatei: "wikipedia.pdf"
Code
: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)
Ausgabe
Die Ausgabedatei ist PDF/A-3b-konform:
Von einem HTML-Design oder einer URL
Ich habe ein Beispiel-HTML-Design "design.html
", das ich mit IronPDF von HTML zu PDF rendern und dann als PDF/A-konforme Datei exportieren möchte.
Ich werde sie in dieser Demonstration als PDF/A-3B-konforme PDF-Datei speichern.
HTML-Design-Beispiel
: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)
Die Ausgabedatei ist PDF/A-3B-konform:
URL-Beispiel
Ich habe die folgende Webseite "https://www.microsoft.com
," die ich mit IronPDF von der URL in PDF rendern und dann als PDF/A-konforme Datei exportieren möchte.
Ich werde sie in dieser Demonstration als PDF/A-3B-konforme PDF-Datei speichern.
: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)
Die Ausgabedatei ist PDF/A-3B-konform:
Einbetten von Anhängen unterstützen
IronPdf bietet die Möglichkeit, Dateien in ein PDF-Dokument einzubetten, während es in das PDF/A-Format konvertiert wird. Dies kann durch die Verwendung verschiedener Eingabetypen wie Dateipfade, Byte-Arrays oder Streams erreicht werden.
Mit Dateipfaden einbetten
Ermöglicht das Einbetten von Dateien anhand ihrer Dateipfade. Eine Sammlung von Dateipfaden wird bereitgestellt, und diese Dateien werden während der PDF/A-Konvertierung als Anhänge hinzugefügt.
: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)
Mit Byte-Arrays einbetten
Ermöglicht das Einbetten von Dateien, indem der Dateiinhalt als Byte-Arrays zusammen mit den jeweiligen Dateitypen bereitgestellt wird. Dies ist nützlich, wenn Dateien bereits im Speicher geladen sind.
: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")
Streams einbetten
Bietet die Möglichkeit, Dateien mithilfe von Streams für deren Inhalt einzubetten, zusammen mit ihren Dateitypen. Diese Methode ist ideal für Szenarien, in denen Dateidaten als Stream verarbeitet werden.
: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")
Erkunden Sie die EmbedFileConfiguration
Wenn ein PdfDocument in ein PDF/A-3-Format konvertiert wird, das eingebettete Dateien enthält, ist es wichtig, Parameter wie EmbedFilePath, EmbedFileByte oder EmbedFileStream zu konfigurieren. Diese Einstellungen ermöglichen es Ihnen, den Typ der eingebetteten Datei, ihren Namen und alle benutzerdefinierten XMP-Metadaten, die Sie hinzufügen möchten, festzulegen.
Eine ordnungsgemäße Konfiguration stellt sicher, dass der eingebettete Inhalt effektiv organisiert ist und den PDF/A-3-Standards entspricht. Die Anpassung der XMP-Metadaten ermöglicht zusätzliche Informationen über die eingebetteten Dateien, wodurch die allgemeine Benutzerfreundlichkeit und Zugänglichkeit des Dokuments verbessert wird. Mit der EmbedFileConfiguration
-Klasse können Entwickler die Werte und Formate für die Datei leicht anpassen.
EmbedFileName: Eine string
-Eigenschaft, die den Namen der einzubettenden Datei im PDF/A-Dokument darstellt. Standardmäßig ist dieser String leer.
AFDesc: Eine string
-Eigenschaft, die die zugehörige Dateibeschreibung für die einzubettende Datei darstellt. Standardmäßig ist dieser String leer.
Konformitätsstufe: Die Konformitätsstufe der Einbettung einer XML-Datei, die auf die XMP-Metadaten eines PDF/A-Dokuments angewendet wird. Standardmäßig ist der Anfangswert auf ConformanceLevel.EN16931
gesetzt. IronPDF bietet sieben verschiedene Werte, aus denen Entwickler wählen können, indem sie die ConformanceLevel
-Enum nutzen, die hier verfügbar ist.
SchemaNamespace: Der PDF/A-Schema-Namensraum-URI, der die XML-Datei einbettet und auf die XMP-Metadaten des PDF/A-Dokuments anwendet. Standardmäßig ist der Anfangswert auf SchemaNamespace.facturX
eingestellt. IronPDF bietet fünf verschiedene Werte, aus denen Entwickler das SchemaNameSpace
-Enum auswählen können, das hier verfügbar ist.
SchemaPrefix: Das PDF/A-Schema-Präfix zum Einbetten einer XML-Datei, die auf die XMP-Metadaten eines PDF/A-Dokuments angewendet wird. Standardmäßig ist der Anfangswert auf SchemaPrefix.fx
gesetzt. IronPDF bietet drei verschiedene Werte zur Auswahl im SchemaPrefix
-Enum, die für Entwickler hier verfügbar sind.
PropertyVersion: Die Eigenschaftsversion der eingebetteten XML-Datei, die auf die XMP-Metadaten eines PDF/A-Dokuments angewendet wird. Standardmäßig ist der Anfangswert auf PropertyVersion.v1
gesetzt. IronPDF bietet Entwicklern vier verschiedene Werte zur Auswahl aus dem PropertyVersion
-Enum, das hier verfügbar ist.
AFRelationship: Die Beziehung der zugeordneten Datei (einbettende Datei) zum PDF/A-Dokument. IronPDF bietet fünf verschiedene Werte, aus denen Entwickler im PropertyVersion
-Enum wählen können, das hier verfügbar ist.