在 C# .NET 中創建帶標籤的 PDF 文件

帶標籤的 PDF 文件是一種 PDF,它使用標籤來定義文檔中內容的邏輯結構。它用於增強那些使用輔助技術和屏幕閱讀器的人的閱讀體驗。在 上一篇文章 中,我們介紹瞭如何在 .NET 應用程序中創建 PDF 文件。在本文中,我們將演示如何在 C# .NET 中以編程方式創建帶標籤的 PDF 文件。

用於創建標記 PDF 的 C# .NET API - 免費下載

Aspose.PDF for .NET 是一個強大的 API,用於在 .NET 應用程序中生成和操作 PDF。使用 API,您可以無縫地創建、處理和轉換簡單和復雜佈局的 PDF 文件。您可以 下載 API 的二進製文件或使用 NuGet 安裝它。

PM> Install-Package Aspose.PDF

在 C# .NET 中創建帶標籤的 PDF 文件

為了在帶標籤的 PDF 中創建結構元素,Aspose.PDF for .NET 提供了 ITaggedContent 接口。那麼讓我們看看如何使用此接口在 C# 中創建帶標籤的 PDF 文件。

以下代碼示例展示瞭如何在 C# 中創建帶標籤的 PDF。

// 創建 PDF 文檔
Document document = new Document();

// 獲取內容以處理加標籤的 PDF
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;
            
// 設置文檔的標題和語言
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");

// 添加標題
HeaderElement mainHeader = taggedContent.CreateHeaderElement();
mainHeader.SetText("Main Header");

// 添加段落
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);

// 保存標記的 PDF
document.Save("tagged-pdf.pdf");

以下是上述代碼示例的輸出。

在 C# 中創建帶標籤的 PDF 文件

C# 使用嵌套元素創建帶標籤的 PDF

在前面的示例中,我們創建了一個包含段落的簡單標記 PDF。現在讓我們看看如何在帶標籤的 PDF 中添加嵌套元素。以下是執行此操作的步驟。

以下代碼示例顯示瞭如何在 C# 中的帶標籤的 PDF 中添加嵌套元素。

// 創建 PDF 文檔
Document document = new Document();

// 獲取用於使用加標籤 PDF 的內容
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;

// 設置文檔的標題和語言
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");

// 添加標題
HeaderElement mainHeader = taggedContent.CreateHeaderElement();
mainHeader.SetText("Main Header");

// 創建段落
ParagraphElement paragraphWithQuotes = taggedContent.CreateParagraphElement();
paragraphWithQuotes.StructureTextState.Font = FontRepository.FindFont("Calibri");
paragraphWithQuotes.StructureTextState.MarginInfo = new MarginInfo(10, 5, 10, 5);

// 添加跨度元素
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.");

// 附加到段落
paragraphWithQuotes.AppendChild(spanElement1);
paragraphWithQuotes.AppendChild(quoteElement);
paragraphWithQuotes.AppendChild(spanElement2);

// 添加到根元素
rootElement.AppendChild(mainHeader);
rootElement.AppendChild(paragraphWithQuotes);

// 保存標記的 PDF
document.Save("tagged-pdf-nested-elements.pdf");

以下屏幕截圖顯示了帶有嵌套元素的標記 PDF。

在 C# 中使用嵌套元素創建帶標籤的 PDF

在 C# 中標記 PDF 中的樣式文本結構

您還可以通過設置字體樣式、系列、大小等將樣式應用於標記 PDF 中的文本。為此,Aspose.PDF for .NET 提供了 FontFontSizeFontStyleForegroundColor StructureTextState 類的屬性。以下代碼示例顯示如何在 C# 中的標記 PDF 中應用文本樣式。

// 創建 PDF 文檔
Document document = new Document();

// 獲取用於使用加標籤 PDF 的內容
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;

// 設置文檔的標題和語言
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");

// 添加標題
HeaderElement mainHeader = taggedContent.CreateHeaderElement();
mainHeader.SetText("Main Header");

// 創建段落
ParagraphElement paragraphWithQuotes = taggedContent.CreateParagraphElement();
taggedContent.RootElement.AppendChild(paragraphWithQuotes);

// 設置樣式
paragraphWithQuotes.StructureTextState.FontSize = 18F;
paragraphWithQuotes.StructureTextState.ForegroundColor = Color.Red;
paragraphWithQuotes.StructureTextState.FontStyle = FontStyles.Italic;
            
// 添加文字
paragraphWithQuotes.SetText("Red italic text.");

// 保存標記的 PDF
document.Save("tagged-pdf-text-styling.pdf");

C# 說明帶標籤的 PDF 中的結構元素

為了說明結構元素,Aspose.PDF for .NET 提供了 IllustrationElement 類。以下代碼示例顯示如何使用此類來說明帶標籤的 PDF 中的結構元素。

// 創建 PDF 文檔
Document document = new Document();

// 獲取用於使用加標籤 PDF 的內容
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;

// 設置文檔的標題和語言
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");

// 保存標記的 PDF
document.Save("tagged-pdf-illustrating-structure.pdf");

用於創建標記 PDF 的 C# API - 獲取免費許可證

您可以獲得免費的臨時許可證,以便在沒有評估限制的情況下使用 Aspose.PDF for .NET。

結論

在本文中,您學習瞭如何在 C# 中創建帶標籤的 PDF 文件。此外,您還了解瞭如何創建嵌套元素、將樣式應用到文本,以及如何以編程方式在加標籤的 PDF 中說明結構元素。此外,您可以使用 文檔 探索更多關於 .NET PDF API 的信息。如果您有任何問題或疑問,可以通過我們的論壇 聯繫我們。

也可以看看