Twórz oznaczone pliki PDF w C# .NET

Oznaczony plik PDF to typ pliku PDF, w którym znaczniki definiują logiczną strukturę treści dokumentu. Służy do zwiększenia komfortu czytania dla osób korzystających z technologii wspomagających i czytników ekranu. W poprzednim poście omówiliśmy tworzenie plików PDF w aplikacji .NET. W tym artykule pokażemy, jak programowo tworzyć oznakowane pliki PDF w języku C# .NET.

C# .NET API do tworzenia tagowanych plików PDF — bezpłatne pobieranie

Aspose.PDF for .NET to solidny interfejs API do generowania plików PDF i manipulowania nimi w aplikacjach .NET. Korzystając z interfejsu API, możesz bezproblemowo tworzyć, przetwarzać i konwertować pliki PDF o prostych i złożonych układach. Możesz pobrać pliki binarne API lub zainstalować je za pomocą NuGet.

PM> Install-Package Aspose.PDF

Utwórz plik PDF ze znacznikami w języku C# .NET

Aby utworzyć elementy struktury w oznakowanym pliku PDF, Aspose.PDF for .NET udostępnia interfejs ITaggedContent. Zobaczmy więc, jak używać tego interfejsu do tworzenia oznakowanego pliku PDF w języku C#.

Poniższy przykładowy kod pokazuje, jak utworzyć oznakowany plik PDF w języku C#.

// Utwórz dokument PDF
Document document = new Document();

// Uzyskaj zawartość do pracy dzięki Tagged PDF
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;
            
// Ustaw tytuł i język dokumentu
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");

// Dodaj nagłówek
HeaderElement mainHeader = taggedContent.CreateHeaderElement();
mainHeader.SetText("Main Header");

// Dodaj akapit
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);

// Zapisz otagowany plik PDF
document.Save("tagged-pdf.pdf");

Poniżej przedstawiono dane wyjściowe powyższego przykładowego kodu.

Utwórz oznakowany plik PDF w języku C#

C# Utwórz oznakowany plik PDF z zagnieżdżonymi elementami

W poprzednim przykładzie utworzyliśmy prosty plik PDF ze znacznikami zawierający akapit. Przyjrzyjmy się teraz, jak dodać zagnieżdżone elementy w oznakowanym pliku PDF. Poniżej przedstawiono kroki, aby wykonać tę operację.

Poniższy przykładowy kod pokazuje, jak dodać zagnieżdżone elementy w oznakowanym pliku PDF w języku C#.

// Utwórz dokument PDF
Document document = new Document();

// Uzyskaj zawartość do pracy dzięki Tagged PDF
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;

// Ustaw tytuł i język dokumentu
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");

// Dodaj nagłówek
HeaderElement mainHeader = taggedContent.CreateHeaderElement();
mainHeader.SetText("Main Header");

// Utwórz akapit
ParagraphElement paragraphWithQuotes = taggedContent.CreateParagraphElement();
paragraphWithQuotes.StructureTextState.Font = FontRepository.FindFont("Calibri");
paragraphWithQuotes.StructureTextState.MarginInfo = new MarginInfo(10, 5, 10, 5);

// Dodaj element rozpiętości
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.");

// Dołącz do ust
paragraphWithQuotes.AppendChild(spanElement1);
paragraphWithQuotes.AppendChild(quoteElement);
paragraphWithQuotes.AppendChild(spanElement2);

// Dodaj do elementu głównego
rootElement.AppendChild(mainHeader);
rootElement.AppendChild(paragraphWithQuotes);

// Zapisz otagowany plik PDF
document.Save("tagged-pdf-nested-elements.pdf");

Poniższy zrzut ekranu przedstawia oznaczony plik PDF z zagnieżdżonymi elementami.

Utwórz oznakowany plik PDF z zagnieżdżonymi elementami w języku C#

Stylizacja struktury tekstu w oznakowanym pliku PDF w języku C#

Możesz także zastosować stylizację do tekstu w oznakowanym pliku PDF, ustawiając styl czcionki, rodzinę, rozmiar itp. W tym celu Aspose.PDF for .NET zapewnia Font, FontSize, FontStyle i ForegroundColor właściwości klasy StructureTextState. Poniższy przykładowy kod pokazuje, jak zastosować stylizację tekstu w oznakowanym pliku PDF w języku C#.

// Utwórz dokument PDF
Document document = new Document();

// Uzyskaj zawartość do pracy dzięki Tagged PDF
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;

// Ustaw tytuł i język dokumentu
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");

// Dodaj nagłówek
HeaderElement mainHeader = taggedContent.CreateHeaderElement();
mainHeader.SetText("Main Header");

// Utwórz akapit
ParagraphElement paragraphWithQuotes = taggedContent.CreateParagraphElement();
taggedContent.RootElement.AppendChild(paragraphWithQuotes);

// Zestaw stylizacji
paragraphWithQuotes.StructureTextState.FontSize = 18F;
paragraphWithQuotes.StructureTextState.ForegroundColor = Color.Red;
paragraphWithQuotes.StructureTextState.FontStyle = FontStyles.Italic;
            
// Dodaj tekst
paragraphWithQuotes.SetText("Red italic text.");

// Zapisz otagowany plik PDF
document.Save("tagged-pdf-text-styling.pdf");

C# Ilustrowanie elementów struktury w oznakowanym pliku PDF

Aby zilustrować elementy struktury, Aspose.PDF for .NET udostępnia klasę IllustrationElement. Poniższy przykład kodu pokazuje, jak używać tej klasy do ilustrowania elementów struktury w oznakowanym pliku PDF.

// Utwórz dokument PDF
Document document = new Document();

// Uzyskaj zawartość do pracy dzięki Tagged PDF
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;

// Ustaw tytuł i język dokumentu
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");

// Zapisz otagowany plik PDF
document.Save("tagged-pdf-illustrating-structure.pdf");

C# API do tworzenia tagowanych plików PDF — uzyskaj bezpłatną licencję

Możesz uzyskać bezpłatną tymczasową licencję, aby używać Aspose.PDF for .NET bez ograniczeń ewaluacyjnych.

Wniosek

W tym artykule nauczyłeś się, jak tworzyć oznakowane pliki PDF w języku C#. Ponadto wiesz, jak programowo tworzyć elementy zagnieżdżone, stosować stylizację do tekstu i ilustrować elementy struktury w oznakowanym pliku PDF. Poza tym możesz dowiedzieć się więcej o .NET PDF API, korzystając z dokumentacji. W przypadku jakichkolwiek pytań lub wątpliwości możesz skontaktować się z nami za pośrednictwem naszego forum.

Zobacz też