PDF 已成為數字世界的主導文檔格式。它的跨平台支持使其成為一種廣泛採用的格式,用於生成和共享文檔,例如研究文章、發票等。以編程方式生成 PDF 時,您經常需要根據佈局更改文本的位置和方向文件。在本文中,我們將演示如何在 C# .NET 中以編程方式旋轉 PDF 文檔中的文本。
用於旋轉 PDF 中的文本的 C# .NET API
Aspose.PDF for .NET 是一個 C# 類庫,它為 .NET 應用程序提供基本和高級的 PDF 操作功能。使用 API,您可以無縫地生成具有簡單或複雜佈局的 PDF 文檔。我們將使用此 API 來旋轉 PDF 文檔中的文本。您可以 下載 API 的 DLL 或使用 NuGet 安裝它。
PM> Install-Package Aspose.PDF
在 C# 中旋轉 PDF 中的文本
有多種方法可以在 PDF 文檔中旋轉文本。您可以旋轉文本片段或整個段落。讓我們看看這些文本旋轉是如何工作的。
在 C# 中使用 TextFragment 進行 PDF 文本旋轉
以下是使用 C# 旋轉 PDF 文檔中的文本片段的步驟。
- 首先,使用 Document 類創建一個新文檔。
- 然後,將頁面添加到文檔並使用 Document.Pages.Add() 方法獲取其引用。
- 之後,使用 TextFragment 類創建一個新的文本片段。
- 設置文本片段的位置和字體。
- 使用 TextFragment.TextState.Rotation 屬性設置旋轉角度。
- 創建一個新的 TextBuilder 對象並使用 Page 對像對其進行初始化。
- 使用 TextBuilder.AppendText(TextFragment) 方法向頁面添加文本。
- 最後,使用 Document.Save(string) 方法保存 PDF 文檔。
以下代碼示例顯示瞭如何在 C# 中旋轉 PDF 文檔中的文本。
// 初始化文檔對象
Document pdfDocument = new Document();
// 獲取特定頁面
var pdfPage = pdfDocument.Pages.Add();
// 創建文本片段
TextFragment textFragment1 = new TextFragment("main text");
textFragment1.Position = new Position(100, 600);
// 設置文本屬性
textFragment1.TextState.FontSize = 12;
textFragment1.TextState.Font = FontRepository.FindFont("TimesNewRoman");
// 創建旋轉的文本片段
TextFragment textFragment2 = new TextFragment("rotated text");
textFragment2.Position = new Position(200, 600);
// 設置文本屬性
textFragment2.TextState.FontSize = 12;
textFragment2.TextState.Font = FontRepository.FindFont("TimesNewRoman");
textFragment2.TextState.Rotation = 45;
// 創建旋轉的文本片段
TextFragment textFragment3 = new TextFragment("rotated text");
textFragment3.Position = new Position(300, 600);
// 設置文本屬性
textFragment3.TextState.FontSize = 12;
textFragment3.TextState.Font = FontRepository.FindFont("TimesNewRoman");
textFragment3.TextState.Rotation = 90;
// 創建 TextBuilder 對象
TextBuilder textBuilder = new TextBuilder(pdfPage);
// 將文本片段附加到 PDF 頁面
textBuilder.AppendText(textFragment1);
textBuilder.AppendText(textFragment2);
textBuilder.AppendText(textFragment3);
// 保存文件
pdfDocument.Save("Rotation_TextFragment.pdf");
輸出
在 C# 中使用 TextParagraph 進行 PDF 文本旋轉
您還可以在創建新段落時對文本應用旋轉。這可以使用 TextParagraph 類來實現。以下是使用 TextParagraph 類應用文本旋轉的步驟。
- 首先,使用 Document 類創建一個新文檔。
- 然後,將頁面添加到文檔並使用 Document.Pages.Add() 方法獲取其引用。
- 之後,創建一個新的 TextParagraph 對象。
- 使用 TextFragment 類創建一個新的文本片段並設置文本和字體。
- 使用 TextFragment.TextState.Rotation 屬性設置旋轉角度。
- 使用 TextParagraph.AppendLine(TextFragment) 方法向段落添加文本。
- 創建一個新的 TextBuilder 對象並使用 Page 對像對其進行初始化。
- 使用 TextBuilder.AppendParagraph(TextParagraph) 方法將段落添加到頁面。
- 最後,使用 Document.Save(string) 方法保存 PDF 文檔。
以下代碼示例顯示如何以編程方式旋轉 PDF 中段落內的文本。
// 初始化文檔對象
Document pdfDocument = new Document();
// 獲取特定頁面
var pdfPage = pdfDocument.Pages.Add();
TextParagraph paragraph = new TextParagraph();
paragraph.Position = new Position(200, 600);
// 創建文本片段
TextFragment textFragment1 = new TextFragment("rotated text");
// 設置文本屬性
textFragment1.TextState.FontSize = 12;
textFragment1.TextState.Font = FontRepository.FindFont("TimesNewRoman");
// 設置旋轉
textFragment1.TextState.Rotation = 45;
// 創建文本片段
TextFragment textFragment2 = new TextFragment("main text");
// 設置文本屬性
textFragment2.TextState.FontSize = 12;
textFragment2.TextState.Font = FontRepository.FindFont("TimesNewRoman");
// 創建文本片段
TextFragment textFragment3 = new TextFragment("another rotated text");
// 設置文本屬性
textFragment3.TextState.FontSize = 12;
textFragment3.TextState.Font = FontRepository.FindFont("TimesNewRoman");
// 設置旋轉
textFragment3.TextState.Rotation = -45;
// 將文本片段附加到段落
paragraph.AppendLine(textFragment1);
paragraph.AppendLine(textFragment2);
paragraph.AppendLine(textFragment3);
// 創建 TextBuilder 對象
TextBuilder textBuilder = new TextBuilder(pdfPage);
// 將文本段落附加到 PDF 頁面
textBuilder.AppendParagraph(paragraph);
// 保存文檔
pdfDocument.Save("Rotation_TextParagraph.pdf");
輸出
獲取免費的 API 許可證
您可以通過 獲得臨時許可證 免費試用 Aspose.PDF for .NET。
結論
PDF 自動化被廣泛用於從 Web 或桌面應用程序中創建和操作 PDF 文檔。在本文中,您學習瞭如何使用 C# 以編程方式旋轉 PDF 中的文本。我們已經明確介紹瞭如何使用 TextFragment 和 TextParagraph 類來旋轉文本。此外,您可以使用 Aspose.PDF for .NET 的 文檔 探索其他功能。如果您有任何問題或疑問,可以通過我們的論壇 聯繫我們。