Erstellen Sie getaggte PDF-Dateien in C# .NET

Eine getaggte PDF-Datei ist ein PDF-Typ, der Tags verwendet, um die logische Struktur des Inhalts im Dokument zu definieren. Es wird verwendet, um das Leseerlebnis für diejenigen zu verbessern, die Hilfstechnologien und Bildschirmlesegeräte verwenden. In einem vorherigen Beitrag haben wir das Erstellen von PDF-Dateien in einer .NET-Anwendung behandelt. In diesem Artikel zeigen wir, wie Sie getaggte PDF-Dateien programmgesteuert in C# .NET erstellen.

C# .NET-API zum Erstellen von getaggten PDF-Dateien – kostenloser Download

Aspose.PDF for .NET ist eine robuste API für die PDF-Generierung und -Bearbeitung innerhalb von .NET-Anwendungen. Mit der API können Sie PDF-Dateien mit einfachen und komplexen Layouts nahtlos erstellen, verarbeiten und konvertieren. Sie können die Binärdateien der API herunterladen oder sie mit NuGet installieren.

PM> Install-Package Aspose.PDF

Erstellen Sie eine getaggte PDF-Datei in C# .NET

Um Strukturelemente in einem getaggten PDF zu erstellen, bietet Aspose.PDF für .NET die Schnittstelle ITaggedContent. Sehen wir uns also an, wie Sie diese Schnittstelle verwenden, um eine mit Tags versehene PDF-Datei in C# zu erstellen.

Das folgende Codebeispiel zeigt, wie Sie eine mit Tags versehene PDF-Datei in C# erstellen.

// PDF-Dokument erstellen
Document document = new Document();

// Holen Sie sich Inhalte für die Arbeit mit Tagged PDF
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;
            
// Legen Sie Titel und Sprache für das Dokument fest
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");

// Kopfzeile hinzufügen
HeaderElement mainHeader = taggedContent.CreateHeaderElement();
mainHeader.SetText("Main Header");

// Absatz hinzufügen
ParagraphElement paragraphElement = taggedContent.CreateParagraphElement();
paragraphElement.SetText("Lorem ipsum dolor sit amet, consectetur adipiscing elit. " +
"Aenean nec lectus ac sem faucibus imperdiet. Sed ut erat ac magna ullamcorper hendrerit. " +
"Cras pellentesque libero semper, gravida magna sed, luctus leo. Fusce lectus odio, laoreet" +
"nec ullamcorper ut, molestie eu elit. Interdum et malesuada fames ac ante ipsum primis in faucibus." +
"Aliquam lacinia sit amet elit ac consectetur. Donec cursus condimentum ligula, vitae volutpat" +
"sem tristique eget. Nulla in consectetur massa. Vestibulum vitae lobortis ante. Nulla ullamcorper" +
"pellentesque justo rhoncus accumsan. Mauris ornare eu odio non lacinia. Aliquam massa leo, rhoncus" +
"ac iaculis eget, tempus et magna. Sed non consectetur elit. Sed vulputate, quam sed lacinia luctus," +
"ipsum nibh fringilla purus, vitae posuere risus odio id massa. Cras sed venenatis lacus.");

rootElement.AppendChild(mainHeader);
rootElement.AppendChild(paragraphElement);

// Getaggtes PDF speichern
document.Save("tagged-pdf.pdf");

Das Folgende ist die Ausgabe des obigen Codebeispiels.

Erstellen Sie eine getaggte PDF-Datei in C#

C# Erstellen Sie ein mit Tags versehenes PDF mit verschachtelten Elementen

Im vorherigen Beispiel haben wir ein einfaches PDF mit Tags erstellt, das einen Absatz enthält. Schauen wir uns nun an, wie man verschachtelte Elemente in einem getaggten PDF hinzufügt. Im Folgenden sind die Schritte zum Ausführen dieses Vorgangs aufgeführt.

Das folgende Codebeispiel zeigt, wie Sie verschachtelte Elemente in einer PDF-Datei mit Tags in C# hinzufügen.

// PDF-Dokument erstellen
Document document = new Document();

// Holen Sie sich Inhalte für die Arbeit mit Tagged PDF
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;

// Legen Sie Titel und Sprache für das Dokument fest
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");

// Kopfzeile hinzufügen
HeaderElement mainHeader = taggedContent.CreateHeaderElement();
mainHeader.SetText("Main Header");

// Absatz erstellen
ParagraphElement paragraphWithQuotes = taggedContent.CreateParagraphElement();
paragraphWithQuotes.StructureTextState.Font = FontRepository.FindFont("Calibri");
paragraphWithQuotes.StructureTextState.MarginInfo = new MarginInfo(10, 5, 10, 5);

// Span-Element hinzufügen
SpanElement spanElement1 = taggedContent.CreateSpanElement();
spanElement1.SetText("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean nec lectus ac sem faucibus imperdiet. Sed ut erat ac magna ullamcorper hendrerit. Cras pellentesque libero semper, gravida magna sed, luctus leo. Fusce lectus odio, laoreet nec ullamcorper ut, molestie eu elit. Interdum et malesuada fames ac ante ipsum primis in faucibus. Aliquam lacinia sit amet elit ac consectetur. Donec cursus condimentum ligula, vitae volutpat sem tristique eget. Nulla in consectetur massa. Vestibulum vitae lobortis ante. Nulla ullamcorper pellentesque justo rhoncus accumsan. Mauris ornare eu odio non lacinia. Aliquam massa leo, rhoncus ac iaculis eget, tempus et magna. Sed non consectetur elit. ");
QuoteElement quoteElement = taggedContent.CreateQuoteElement();
quoteElement.SetText("Sed vulputate, quam sed lacinia luctus, ipsum nibh fringilla purus, vitae posuere risus odio id massa.");
quoteElement.StructureTextState.FontStyle = FontStyles.Bold | FontStyles.Italic;
SpanElement spanElement2 = taggedContent.CreateSpanElement();
spanElement2.SetText(" Sed non consectetur elit.");

// An Absatz anhängen
paragraphWithQuotes.AppendChild(spanElement1);
paragraphWithQuotes.AppendChild(quoteElement);
paragraphWithQuotes.AppendChild(spanElement2);

// Zum Stammelement hinzufügen
rootElement.AppendChild(mainHeader);
rootElement.AppendChild(paragraphWithQuotes);

// Getaggtes PDF speichern
document.Save("tagged-pdf-nested-elements.pdf");

Der folgende Screenshot zeigt das getaggte PDF mit verschachtelten Elementen.

Erstellen Sie ein getaggtes PDF mit verschachtelten Elementen in C#

Gestalten der Textstruktur in einem getaggten PDF in C#

Sie können den Text in einem getaggten PDF auch formatieren, indem Sie Schriftart, Familie, Größe usw. festlegen. Aspose.PDF für .NET bietet hierfür Font, FontSize, [FontStyle] Eigenschaften 25 und ForegroundColor der Klasse StructureTextState. Das folgende Codebeispiel zeigt, wie Textstile in einer mit Tags versehenen PDF-Datei in C# angewendet werden.

// PDF-Dokument erstellen
Document document = new Document();

// Holen Sie sich Inhalte für die Arbeit mit Tagged PDF
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;

// Legen Sie Titel und Sprache für das Dokument fest
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");

// Kopfzeile hinzufügen
HeaderElement mainHeader = taggedContent.CreateHeaderElement();
mainHeader.SetText("Main Header");

// Absatz erstellen
ParagraphElement paragraphWithQuotes = taggedContent.CreateParagraphElement();
taggedContent.RootElement.AppendChild(paragraphWithQuotes);

// Styling festlegen
paragraphWithQuotes.StructureTextState.FontSize = 18F;
paragraphWithQuotes.StructureTextState.ForegroundColor = Color.Red;
paragraphWithQuotes.StructureTextState.FontStyle = FontStyles.Italic;
            
// Text hinzufügen
paragraphWithQuotes.SetText("Red italic text.");

// Getaggtes PDF speichern
document.Save("tagged-pdf-text-styling.pdf");

C#-Veranschaulichung von Strukturelementen in einem getaggten PDF

Zur Veranschaulichung der Strukturelemente stellt Aspose.PDF für .NET die Klasse IllustrationElement bereit. Das folgende Codebeispiel zeigt, wie diese Klasse verwendet wird, um die Strukturelemente in einer PDF-Datei mit Tags zu veranschaulichen.

// PDF-Dokument erstellen
Document document = new Document();

// Holen Sie sich Inhalte für die Arbeit mit Tagged PDF
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;

// Legen Sie Titel und Sprache für das Dokument fest
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");

IllustrationElement figure1 = taggedContent.CreateFigureElement();
taggedContent.RootElement.AppendChild(figure1);
figure1.AlternativeText = "Figure One";
figure1.Title = "Image 1";
figure1.SetTag("Fig1");
figure1.SetImage("aspose_pdf.png");

// Getaggtes PDF speichern
document.Save("tagged-pdf-illustrating-structure.pdf");

C#-API zum Erstellen von getaggten PDFs – Holen Sie sich eine kostenlose Lizenz

Sie können eine kostenlose temporäre Lizenz erhalten, um Aspose.PDF für .NET ohne Evaluierungseinschränkungen zu verwenden.

Fazit

In diesem Artikel haben Sie gelernt, wie Sie mit Tags versehene PDF-Dateien in C# erstellen. Darüber hinaus haben Sie gesehen, wie Sie verschachtelte Elemente erstellen, Stile auf Text anwenden und Strukturelemente in einem mit Tags versehenen PDF programmgesteuert darstellen. Außerdem können Sie mithilfe der Dokumentation mehr über die .NET PDF-API erfahren. Falls Sie Fragen oder Anregungen haben, können Sie uns über unser Forum kontaktieren.

Siehe auch