使用 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 的段落集合
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 的更多信息。如果您有任何问题或疑问,可以通过我们的 论坛 与我们联系。

也可以看看