使用 Java 在 PDF 中添加或更新超鏈接

PDF 是一種流行的文檔格式,它提供跨平台支持和一系列功能來創建豐富的文檔。此外,它支持各種元素,如媒體、表單、註釋、工件等。在這些元素中,超鏈接經常用於在 PDF 中導航,從一個 PDF 到另一個 PDF,打開 URL 等。所以在本文中,您將學習如何在 Java 中以編程方式添加和更新 PDF 文件中的超鏈接。

Aspose.PDF for Java 是一個用於 PDF 生成和操作的令人驚嘆的 API。使用 API,您可以無縫地創建、處理和轉換簡單和復雜佈局的 PDF 文件。我們將使用此 API 添加和更新 PDF 文件中的超鏈接。您可以下載 API 的 JAR 或使用以下 Maven 配置安裝它。

存儲庫:

<repository>
    <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 文件添加超鏈接的步驟。

以下代碼示例顯示瞭如何使用 Java 在 PDF 中添加超鏈接。

// 打開文檔
Document document = new Document("input.pdf");

// 獲取頁面引用
Page page = document.getPages().get_Item(1);

// 創建鏈接註釋對象
LinkAnnotation link = new LinkAnnotation(page, new com.aspose.pdf.Rectangle(100, 100, 300, 300));

// 為 LinkAnnotation 創建邊框對象
Border border = new Border(link);

// 設置邊框寬度值為 0
border.setWidth ( 0);

// 為 LinkAnnotation 設置邊框
link.setBorder(border);

// 將鏈接類型指定為遠程 URI
link.setAction( new GoToURIAction("www.aspose.com"));

// 將鏈接註釋添加到PDF文件第一頁的註釋集合
page.getAnnotations().add(link);

// 保存更新的文檔
document.save("output.pdf");

您還可以使用超鏈接從 PDF 導航到外部 PDF 文件。以下步驟演示瞭如何使用 Java 為外部 PDF 文件添加超鏈接。

以下代碼示例顯示瞭如何使用 Java 為外部 PDF 添加超鏈接。

// 打開文檔
Document document = new Document("input.pdf");

// 獲取頁面引用
Page page = document.getPages().get_Item(1);

// 創建超鏈接
LinkAnnotation link = new LinkAnnotation(page, new com.aspose.pdf.Rectangle(100, 100, 300, 300));
link.setColor(Color.getGreen());

// 設置動作
link.setAction( new GoToRemoteAction("external.pdf", 1));

// 將鏈接註釋添加到PDF文件第一頁的註釋集合
page.getAnnotations().add(link);

// 保存更新的文檔
document.save("output.pdf");

在某些情況下,您必須在 PDF 文檔中從一頁導航到另一頁。 LocalHyperlink 類用於導航到 PDF 中的特定頁面。以下是實現此目的的步驟。

以下代碼示例顯示瞭如何添加超鏈接以導航到 PDF 中的特定頁面。

// 打開文檔
Document document = new Document("input.pdf");

// 獲取頁面引用
Page page = document.getPages().get_Item(1);

// 創建 TextFragment 實例
TextFragment text = new TextFragment("link page number test to page 7");

// 創建本地超鏈接實例
LocalHyperlink link = new LocalHyperlink();

// 設置鏈接實例的目標頁面
link.setTargetPageNumber( 7);

// 設置 TextFragment 超鏈接
text.setHyperlink(link);

// 將文本添加到頁面的段落集合
page.getParagraphs().add(text);

// 保存更新的文檔
document.save("output.pdf");

您還可以從 PDF 文件中檢索超鏈接並更新其屬性。以下是執行此操作的步驟。

以下代碼示例顯示瞭如何使用 Java 更新 PDF 中的超鏈接。

// 打開文檔
Document document = new Document("input.pdf");

// 從文檔的第一頁獲取第一個鏈接註釋
LinkAnnotation linkAnnot = (LinkAnnotation)document.getPages().get_Item(1).getAnnotations().get_Item(1);

// 更改鏈接操作並將目標設置為網址
linkAnnot.setAction(new GoToURIAction("www.aspose.com"));

// 根據需要更改其他屬性

// 保存更新的文檔
document.save("output.pdf");

用於在 PDF 中添加超鏈接的 Java API - 獲得免費許可證

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

結論

在本文中,您學習瞭如何使用 Java 在 PDF 文件中添加不同類型的超鏈接。此外,您還看到瞭如何從現有 PDF 文件中檢索超鏈接並以編程方式更新它們的屬性。此外,您可以使用 文檔 探索有關 Java PDF API 的更多信息。如果您有任何問題或疑問,可以通過我們的論壇 聯繫我們。

也可以看看