Java 更新和删除PDF中的超链接
Posted Tobemia
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 更新和删除PDF中的超链接相关的知识,希望对你有一定的参考价值。
PDF文档中可对指定文字内容添加超链接,通过鼠标点击动作可跳转至链接的地址。对文档中已有的超链接,如果需要进行编辑或者删除等操作,可参考本文中的方法来更新PDF文档中已有的超链接,以及如何删除超链接。下面是详细方法及步骤,供参考。
【导入jar】
本次代码中使用Free Spire.PDF for Java。
可按照如下方法来导入Spire.Pdf.jar 版本:5.1.0
方法1:将Free Spire.PDF for Java包下载到本地,解压,找到lib文件夹下的Spire.Pdf.jar文件。然后在IDEA中打开“Project Structure”界面,然后执行如图步骤来手动导入本地路径下的jar文件:
方法2:通过Maven仓库下载导入,如下配置pom.xml:
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.pdf.free</artifactId>
<version>5.1.0</version>
</dependency>
</dependencies>
【Java示例】
1.更新超链接
Spire.PDF for Java 提供了PdfUriAnnotationWidget.setUri(String value)方法可直接重置已有的超链接地址。下面是实现更新超链接的代码步骤:
- 创建PdfDocument类的对象。
- 调用PdfDocument.loadFromFile(String fileName)方法加载PDF文档。
- 通过PdfDocument.getPages().get(int index)方法获取指定页面。
- 通过PdfPageBase.getAnnotationWidget()方法获取所有超链接集合。
- 使用PdfUriAnnotationWidget.setUri(String value)方法设置新的超链接地址。
- 最后,通过PdfDocument.saveToFile(String filename, FileFormat fileFormat)方法保存文档到指定路径。
Java
import com.spire.pdf.*;
import com.spire.pdf.annotations.PdfAnnotationCollection;
import com.spire.pdf.annotations.PdfUriAnnotationWidget;
public class UpdateHyperlink
public static void main(String[] args) throws Exception
//加载PDF文档
PdfDocument pdf = new PdfDocument();
pdf.loadFromFile("test.pdf");
//获取PDF中的指定页面
PdfPageBase page = pdf.getPages().get(0);
//获取超链接,更改链接地址
PdfAnnotationCollection widgetCollection = page.getAnnotationsWidget();
PdfUriAnnotationWidget uri = (PdfUriAnnotationWidget) widgetCollection.get(0);
uri.setUri("https://123456.com");
//保存文档
pdf.saveToFile("UpdateHyperlinks.pdf");
pdf.dispose();
2.删除超链接
删除超链接时,可通过PdfAnnotationCollection.removeAt(int index)方法删除指定的超链接,或者通过PdfAnnotationCollection.clear()方法删除文档中的所有超链接。下面是删除超链接的代码步骤:
- 创建PdfDocument类的对象。
- 调用PdfDocument.loadFromFile(String fileName)方法加载PDF文档。
- 通过PdfDocument.getPages().get(int index)方法获取指定页面。
- 通过PdfPageBase.getAnnotationWidget()方法获取所有超链接集合。
- 通过PdfAnnotationCollection.removeAt(int index)方法删除指定超链接。
- 通过PdfAnnotationCollection.clear()方法删除所有超链接。
- 最后,通过PdfDocument.saveToFile(String filename, FileFormat fileFormat)方法保存文档到指定路径。
Java
import com.spire.pdf.*;
import com.spire.pdf.annotations.*;
public class RemoveHyperlinks
public static void main(String[] args)
//加载PDF
PdfDocument pdf = new PdfDocument();
pdf.loadFromFile("test.pdf");
//获取PDF中的指定页面
PdfPageBase page = pdf.getPages().get(0);
//获取所有的PDF 超链接集合
PdfAnnotationCollection widgetCollection = page.getAnnotationsWidget();
widgetCollection.removeAt(1);//删除第2个超链接
//widgetCollection.clear();//删除所有超链接
//保存文档
pdf.saveToFile("RemoveHyperlinks.pdf");
pdf.dispose();
—END—
以上是关于Java 更新和删除PDF中的超链接的主要内容,如果未能解决你的问题,请参考以下文章