在 Java 中旋转 PDF 文档中的文本

PDF 是一种跨平台文档格式,可在不同操作系统之间提供一致的布局。它广泛用于生成和共享文档,例如研究文章、发票等。在以编程方式生成 PDF 文件时,您经常需要根据文档的布局更改文本的位置和方向。在本文中,我们将向您展示如何在 Java 中旋转 PDF 文档中的文本。

用于在 PDF 中旋转文本的 Java API

要旋转 PDF 文件中的文本,我们将使用 Aspose.PDF for Java。它是一个功能强大的库,提供基本和高级 PDF 操作功能。您可以 下载 API 或使用以下 Maven 配置安装它。

存储库:

    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>

依赖:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>22.4</version>
</dependency>

在Java中旋转PDF内的文本

有多种方法可以旋转 PDF 文档中的文本。您可以旋转文本片段或整个段落。让我们看看这些文本旋转是如何工作的。

在 Java 中使用 TextFragment 进行 PDF 文本旋转

以下是使用 Java 旋转 PDF 文档中的文本片段的步骤。

以下代码示例展示了如何在 Java 中旋转 PDF 文档中的文本。

// 初始化文档对象
Document pdfDocument = new Document();

// 获取特定页面
Page pdfPage = pdfDocument.getPages().add();

// 创建文本片段
TextFragment textFragment1 = new TextFragment("main text");
textFragment1.setPosition(new Position(100, 600));

// 设置文本属性
textFragment1.getTextState().setFontSize(12);
textFragment1.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));

// 创建旋转的文本片段
TextFragment textFragment2 = new TextFragment("rotated text");
textFragment2.setPosition(new Position(200, 600));
// 设置文本属性
textFragment2.getTextState().setFontSize(12);
textFragment2.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
textFragment2.getTextState().setRotation(45);

// 创建旋转的文本片段
TextFragment textFragment3 = new TextFragment("rotated text");
textFragment3.setPosition(new Position(300, 600));

// 设置文本属性
textFragment3.getTextState().setFontSize(12);
textFragment3.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
textFragment3.getTextState().setRotation(90);

// 创建 TextBuilder 对象
TextBuilder textBuilder = new TextBuilder(pdfPage);

// 将文本片段附加到 PDF 页面
textBuilder.appendText(textFragment1);
textBuilder.appendText(textFragment2);
textBuilder.appendText(textFragment3);

// 保存文档
pdfDocument.save("Rotate_Text_TextFragment.pdf");

输出

在 Java 中使用 TextFragment 进行 PDF 文本旋转

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

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

以下代码示例显示了如何以编程方式旋转 PDF 中段落内的文本。

// 初始化文档对象
Document pdfDocument = new Document();

// 获取特定页面
Page pdfPage = (Page) pdfDocument.getPages().add();

// 创建文本段落
TextParagraph paragraph = new TextParagraph();
paragraph.setPosition(new Position(200, 600));

// 创建文本片段
TextFragment textFragment1 = new TextFragment("rotated text");

// 设置文本属性
textFragment1.getTextState().setFontSize(12);
textFragment1.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));

// 设置旋转
textFragment1.getTextState().setRotation(45);

// 创建文本片段
TextFragment textFragment2 = new TextFragment("main text");

// 设置文本属性
textFragment2.getTextState().setFontSize(12);
textFragment2.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));

// 创建文本片段
TextFragment textFragment3 = new TextFragment("another rotated text");

// 设置文本属性
textFragment3.getTextState().setFontSize(12);
textFragment3.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));

// 设置旋转
textFragment3.getTextState().setRotation(-45);

// 将文本片段附加到段落
paragraph.appendLine(textFragment1);
paragraph.appendLine(textFragment2);
paragraph.appendLine(textFragment3);

// 创建 TextBuilder 对象
TextBuilder textBuilder = new TextBuilder(pdfPage);

// 将文本段落附加到 PDF 页面
textBuilder.appendParagraph(paragraph);

// 保存文档
pdfDocument.save("Rotate_Text_TextParagraph.pdf");

输出

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

获取免费 API 许可证

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

结论

在本文中,您学习了如何使用 Java 以编程方式旋转 PDF 中的文本。我们已经介绍了如何使用 TextFragment 和 TextParagraph 类来旋转文本。此外,您可以使用 文档 探索更多关于 Aspose.PDF for Java 的信息。如果您有任何问题或疑问,可以通过我们的 论坛 与我们联系。

也可以看看