Skapa taggade PDF-filer i C# .NET

En taggad PDF-fil är en typ av PDF som använder taggar för att definiera den logiska strukturen för innehållet i dokumentet. Den används för att förbättra läsupplevelsen för dem som använder hjälpmedel och skärmläsare. I ett föregående inlägg behandlade vi att skapa PDF-filer i en .NET-applikation. I den här artikeln kommer vi att visa hur man skapar taggade PDF-filer programmatiskt i C# .NET.

C#-bibliotek för att skapa taggade PDF - gratis nedladdning

För att skapa taggade PDF-filer kommer vi att använda Aspose.PDF för .NET. Det är ett robust bibliotek för PDF-generering och manipulering i .NET-applikationer. Med hjälp av biblioteket kan du sömlöst skapa, bearbeta och konvertera PDF-filer med enkla och komplexa layouter. Du kan ladda ner bibliotekets binärer eller installera det med NuGet.

PM> Install-Package Aspose.PDF

Skapa en taggad PDF i C#

För att skapa strukturelement i en taggad PDF tillhandahåller Aspose.PDF för .NET gränssnittet ITaggedContent. Så låt oss se hur man använder det här gränssnittet för att skapa en taggad PDF-fil i C#.

Följande kodexempel visar hur man skapar en taggad PDF i C#.

// Skapa PDF-dokument
Document document = new Document();

// Skaffa innehåll för arbetet med Tagged PDF
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;
            
// Ställ in titel och språk för dokumentet
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");

// Lägg till rubrik
HeaderElement mainHeader = taggedContent.CreateHeaderElement();
mainHeader.SetText("Main Header");

// Lägg till stycke
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);

// Spara taggad PDF
document.Save("tagged-pdf.pdf");

Följande är resultatet av ovanstående kodexempel.

Skapa en taggad PDF-fil i C#

C# Skapa en taggad PDF med Nested Elements

I det föregående exemplet skapade vi en enkel taggad PDF som innehåller ett stycke. Låt oss nu ta en titt på hur man lägger till kapslade element i en taggad PDF. Följande är stegen för att utföra denna operation.

Följande kodexempel visar hur man lägger till kapslade element i en taggad PDF i C#.

// Skapa PDF-dokument
Document document = new Document();

// Få innehåll för arbetet med Tagged PDF
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;

// Ställ in titel och språk för dokumentet
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");

// Lägg till rubrik
HeaderElement mainHeader = taggedContent.CreateHeaderElement();
mainHeader.SetText("Main Header");

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

// Lägg till span element
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.");

// Bifoga till paragraf
paragraphWithQuotes.AppendChild(spanElement1);
paragraphWithQuotes.AppendChild(quoteElement);
paragraphWithQuotes.AppendChild(spanElement2);

// Lägg till rotelement
rootElement.AppendChild(mainHeader);
rootElement.AppendChild(paragraphWithQuotes);

// Spara taggad PDF
document.Save("tagged-pdf-nested-elements.pdf");

Följande skärmdump visar den taggade PDF-filen med kapslade element.

Skapa en taggad PDF med Nested Elements i C#

Styla textstruktur i en taggad PDF i C#

Du kan också tillämpa stil på texten i en taggad PDF genom att ställa in typsnittsstil, familj, storlek etc. För detta tillhandahåller Aspose.PDF för .NET Font, FontSize, FontStyle och ForegroundColor egenskaper för klassen StructureTextState. Följande kodexempel visar hur man använder textstil i en taggad PDF i C#.

// Skapa PDF-dokument
Document document = new Document();

// Få innehåll för arbetet med Tagged PDF
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;

// Ställ in titel och språk för dokumentet
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");

// Lägg till rubrik
HeaderElement mainHeader = taggedContent.CreateHeaderElement();
mainHeader.SetText("Main Header");

// Skapa stycke
ParagraphElement paragraphWithQuotes = taggedContent.CreateParagraphElement();
taggedContent.RootElement.AppendChild(paragraphWithQuotes);

// Ställ in styling
paragraphWithQuotes.StructureTextState.FontSize = 18F;
paragraphWithQuotes.StructureTextState.ForegroundColor = Color.Red;
paragraphWithQuotes.StructureTextState.FontStyle = FontStyles.Italic;
            
// Lägg till text
paragraphWithQuotes.SetText("Red italic text.");

// Spara taggad PDF
document.Save("tagged-pdf-text-styling.pdf");

C# som illustrerar strukturelement i en taggad PDF

För att illustrera strukturelementen tillhandahåller Aspose.PDF för .NET klass IllustrationElement. Följande kodexempel visar hur du använder den här klassen för att illustrera de strukturella elementen i en taggad PDF.

// Skapa PDF-dokument
Document document = new Document();

// Få innehåll för arbetet med Tagged PDF
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;

// Ställ in titel och språk för dokumentet
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");

// Spara taggad PDF
document.Save("tagged-pdf-illustrating-structure.pdf");

Gratis PDF-bibliotek för att skapa taggade PDF

Du kan skaffa en gratis tillfällig licens och skapa taggade PDF-filer utan utvärderingsbegränsningar.

Utforska C# PDF-biblioteket

Dessutom kan du utforska mer om C# PDF-biblioteket med hjälp av dokumentationen. Om du skulle ha några frågor eller funderingar kan du kontakta oss via vårt forum.

Slutsats

I den här artikeln har du lärt dig hur du skapar taggade PDF-filer i C#. Dessutom har du sett hur man skapar kapslade element, tillämpar stil på text och illustrerar strukturelement i en taggad PDF-fil programmatiskt.

Se även