在 C# 中旋转 PDF 文档中的文本

PDF 已成为数字世界的主流文档格式。它的跨平台支持使其成为生成和共享文档的一种广泛采用的格式,例如研究文章、发票等。在以编程方式生成 PDF 时,您经常需要根据布局更改文本的位置和方向文件。在本文中,我们将演示如何在 C# .NET 中以编程方式旋转 PDF 文档中的文本。

C# .NET API 在 PDF 中旋转文本

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 文档中的文本片段的步骤。

以下代码示例展示了如何在 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# 中使用 TextFragment 进行 PDF 文本旋转

在 C# 中使用 TextParagraph 进行 PDF 文本旋转

您还可以在创建新段落时对文本应用旋转。这可以使用 TextParagraph 类来实现。以下是使用 TextParagraph 类应用文本旋转的步骤。

以下代码示例显示了如何以编程方式旋转 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");

输出

在 C# 中使用 TextParagraph 进行 PDF 文本旋转

获取免费 API 许可证

您可以通过获得临时许可证免费试用 Aspose.PDF for .NET。

结论

PDF 自动化被广泛用于从 Web 或桌面应用程序中创建和操作 PDF 文档。在本文中,您学习了如何使用 C# 以编程方式旋转 PDF 中的文本。我们已经明确介绍了如何使用 TextFragment 和 TextParagraph 类来旋转文本。此外,您可以使用 Aspose.PDF for .NET 的 文档 探索其他功能。如果您有任何问题或疑问,可以通过我们的 论坛 与我们联系。

也可以看看