Tạo tệp PDF được gắn thẻ trong C# .NET

Tệp PDF được gắn thẻ là một loại PDF sử dụng các thẻ để xác định cấu trúc logic của nội dung trong tài liệu. Nó được sử dụng để nâng cao trải nghiệm đọc cho những người sử dụng công nghệ hỗ trợ và trình đọc màn hình. Trong bài đăng trước, chúng tôi đã đề cập đến việc tạo tệp PDF trong ứng dụng .NET. Trong bài viết này, chúng tôi sẽ trình bày cách tạo tệp PDF được gắn thẻ theo chương trình trong C# .NET.

C# .NET API để tạo PDF được gắn thẻ - Tải xuống miễn phí

Aspose.PDF dành cho .NET là một API mạnh mẽ để tạo và thao tác PDF trong các ứng dụng .NET. Sử dụng API, bạn có thể tạo, xử lý và chuyển đổi liền mạch các tệp PDF có bố cục đơn giản và phức tạp. Bạn có thể tải xuống mã nhị phân của API hoặc cài đặt nó bằng NuGet.

PM> Install-Package Aspose.PDF

Tạo tệp PDF được gắn thẻ trong C# .NET

Để tạo các phần tử cấu trúc trong một tệp PDF được gắn thẻ, Aspose.PDF for .NET cung cấp giao diện ITaggedContent. Vì vậy, hãy xem cách sử dụng giao diện này để tạo tệp PDF được gắn thẻ trong C#.

Mẫu mã sau đây cho thấy cách tạo một tệp PDF được gắn thẻ trong C#.

// Tạo tài liệu PDF
Document document = new Document();

// Nhận nội dung cho công việc với PDF được gắn thẻ
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;
            
// Đặt tiêu đề và ngôn ngữ cho tài liệu
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");

// Thêm tiêu đề
HeaderElement mainHeader = taggedContent.CreateHeaderElement();
mainHeader.SetText("Main Header");

// Thêm đoạn văn
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);

// Lưu tệp PDF được gắn thẻ
document.Save("tagged-pdf.pdf");

Sau đây là kết quả của mẫu mã trên.

Tạo tệp PDF được gắn thẻ trong C#

C# Tạo một tệp PDF được gắn thẻ với các phần tử lồng nhau

Trong ví dụ trước, chúng tôi đã tạo một tệp PDF được gắn thẻ đơn giản có chứa một đoạn văn. Bây giờ chúng ta hãy xem cách thêm các phần tử lồng nhau trong một tệp PDF được gắn thẻ. Sau đây là các bước để thực hiện thao tác này.

Mẫu mã sau đây cho thấy cách thêm các phần tử lồng nhau trong một tệp PDF được gắn thẻ trong C#.

// Tạo tài liệu PDF
Document document = new Document();

// Nhận nội dung cho công việc với PDF được gắn thẻ
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;

// Đặt tiêu đề và ngôn ngữ cho tài liệu
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");

// Thêm tiêu đề
HeaderElement mainHeader = taggedContent.CreateHeaderElement();
mainHeader.SetText("Main Header");

// Tạo đoạn văn
ParagraphElement paragraphWithQuotes = taggedContent.CreateParagraphElement();
paragraphWithQuotes.StructureTextState.Font = FontRepository.FindFont("Calibri");
paragraphWithQuotes.StructureTextState.MarginInfo = new MarginInfo(10, 5, 10, 5);

// Thêm phần tử nhịp
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.");

// Nối vào đoạn văn
paragraphWithQuotes.AppendChild(spanElement1);
paragraphWithQuotes.AppendChild(quoteElement);
paragraphWithQuotes.AppendChild(spanElement2);

// Thêm vào phần tử gốc
rootElement.AppendChild(mainHeader);
rootElement.AppendChild(paragraphWithQuotes);

// Lưu tệp PDF được gắn thẻ
document.Save("tagged-pdf-nested-elements.pdf");

Ảnh chụp màn hình sau đây cho thấy tệp PDF được gắn thẻ với các phần tử lồng vào nhau.

Tạo tệp PDF được gắn thẻ với các phần tử lồng nhau trong C#

Tạo kiểu cho cấu trúc văn bản trong một tệp PDF được gắn thẻ trong C#

Bạn cũng có thể áp dụng kiểu cho văn bản trong một tệp PDF được gắn thẻ bằng cách đặt kiểu phông chữ, họ, kích thước, v.v. Để làm được điều này, Aspose.PDF dành cho .NET cung cấp Phông chữ, Kích thước phông chữ, [Kiểu chữ] Các thuộc tính 25ForegroundColor của lớp StructureTextState. Mẫu mã sau đây cho thấy cách áp dụng kiểu văn bản trong một tệp PDF được gắn thẻ trong C#.

// Tạo tài liệu PDF
Document document = new Document();

// Nhận nội dung cho công việc với PDF được gắn thẻ
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;

// Đặt tiêu đề và ngôn ngữ cho tài liệu
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");

// Thêm tiêu đề
HeaderElement mainHeader = taggedContent.CreateHeaderElement();
mainHeader.SetText("Main Header");

// Tạo đoạn văn
ParagraphElement paragraphWithQuotes = taggedContent.CreateParagraphElement();
taggedContent.RootElement.AppendChild(paragraphWithQuotes);

// Đặt kiểu
paragraphWithQuotes.StructureTextState.FontSize = 18F;
paragraphWithQuotes.StructureTextState.ForegroundColor = Color.Red;
paragraphWithQuotes.StructureTextState.FontStyle = FontStyles.Italic;
            
// Thêm văn bản
paragraphWithQuotes.SetText("Red italic text.");

// Lưu tệp PDF được gắn thẻ
document.Save("tagged-pdf-text-styling.pdf");

C# minh họa các thành phần cấu trúc trong một tệp PDF được gắn thẻ

Để minh họa các phần tử cấu trúc, Aspose.PDF for .NET cung cấp lớp IllustrationElement. Mẫu mã sau đây cho thấy cách sử dụng lớp này để minh họa các phần tử cấu trúc trong một tệp PDF được gắn thẻ.

// Tạo tài liệu PDF
Document document = new Document();

// Nhận nội dung cho công việc với PDF được gắn thẻ
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;

// Đặt tiêu đề và ngôn ngữ cho tài liệu
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");

// Lưu tệp PDF được gắn thẻ
document.Save("tagged-pdf-illustrating-structure.pdf");

API C# để tạo PDF được gắn thẻ - Nhận giấy phép miễn phí

Bạn có thể nhận giấy phép tạm thời miễn phí để sử dụng Aspose.PDF for .NET mà không có giới hạn đánh giá.

Sự kết luận

Trong bài viết này, bạn đã học cách tạo tệp PDF được gắn thẻ trong C#. Hơn nữa, bạn đã thấy cách tạo các phần tử lồng nhau, áp dụng kiểu cho văn bản và minh họa các phần tử cấu trúc trong một tệp PDF được gắn thẻ theo chương trình. Bên cạnh đó, bạn có thể khám phá thêm về .NET PDF API bằng cách sử dụng tài liệu. Trong trường hợp bạn có bất kỳ câu hỏi hoặc thắc mắc nào, bạn có thể liên hệ với chúng tôi qua diễn đàn của chúng tôi.

Xem thêm