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 文檔中的文本片段的步驟。
- 首先,使用 Document 類創建一個新文檔。
- 然後,將頁面添加到文檔並使用 Document.getPages().add() 方法獲取其引用。
- 之後,使用 TextFragment 類創建一個新的文本片段。
- 設置文本片段的位置和字體。
- 使用 TextFragment.getTextState().setRotation() 方法設置旋轉角度。
- 創建一個新的 TextBuilder 對象並使用 Page 對像對其進行初始化。
- 使用 TextBuilder.appendText(TextFragment) 方法向頁面添加文本。
- 最後,使用 Document.save(string) 方法保存 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 中使用 TextParagraph 進行 PDF 文本旋轉
您還可以在創建新段落時對文本應用旋轉。這可以使用 TextParagraph 類來實現。以下是使用 TextParagraph 類應用文本旋轉的步驟。
- 首先,使用 Document 類創建一個新文檔。
- 然後,將頁面添加到文檔並使用 Document.getPages().add() 方法獲取其引用。
- 之後,創建一個新的 TextParagraph 對象。
- 使用 TextFragment 類創建一個新的文本片段並設置文本和字體。
- 使用 TextFragment.getTextState().setRotation() 方法設置旋轉角度。
- 使用 TextParagraph.appendLine(TextFragment) 方法向段落添加文本。
- 創建一個新的 TextBuilder 對象並使用 Page 對像對其進行初始化。
- 使用 TextBuilder.appendParagraph(TextParagraph) 方法將段落添加到頁面。
- 最後,使用 Document.save(string) 方法保存 PDF 文檔。
以下代碼示例顯示如何以編程方式旋轉 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");
輸出
獲取免費的 API 許可證
您可以通過獲得臨時許可證免費試用 Aspose.PDF for Java。
結論
在本文中,您學習瞭如何使用 Java 以編程方式旋轉 PDF 中的文本。我們已經介紹瞭如何使用 TextFragment 和 TextParagraph 類來旋轉文本。此外,您可以使用 文檔 探索更多關於 Aspose.PDF for Java 的信息。如果您有任何問題或疑問,可以通過我們的論壇 聯繫我們。