本文,将介绍如何通过Java后端程序代码在PDF中创建工具提示。添加工具提示后,当鼠标悬停在页面上的元素时,将显示工具提示内容。

导入jar包

本次程序中使用的是Free Spire.PDF for Java,具体导入jar文件的方法参考如下内容。

两种方法可导入jar到程序:

方法1. 通过Maven仓库下载导入。在pom.xml配置:​

<repositories>
<repository>
<id>com.e-iceblue</id>
<url>https://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.pdf.free</artifactId>
<version>4.4.1</version>
</dependency>
</dependencies>

方法2. 下载 ​​jar包​​到本地,解压,找到lib文件夹下的Spire.Pdf.jar文件,然后执行如下图中的步骤导入:

Java 在PDF中添加工具提示ToolTip_工具提示

Java 在PDF中添加工具提示ToolTip_Maven_02

Java 在PDF中添加工具提示ToolTip_工具提示_03

添加工具提示ToolTip

在本次代码中给PDF添加提示工具以查找的指定文本元素为例,主要步骤如下:

  • 实例化PdfDocument类的对象,并通过PdfDocument.loadFromFile(String filename)方法加载PDF文档。
  • 通过PdfPageBase.findText(String
    searchPatternText).getFinds()方法查找页面上的指定文本,并获取查找到的文字边界。
  • 创建一个PdfButtonField类型的按钮,将大小设置为查找到的文字边界大小;并通过PdfButtonField.setToolTip(String
    value)方法设置工具提示内容。
  • 通过PdfDocument.saveToFile(String
    filename, FileFormat fileFormat)方法保存PDF文档到指定路径。

Java​

import com.spire.pdf.*;
import com.spire.pdf.fields.PdfButtonField;
import com.spire.pdf.fields.PdfButtonLayoutMode;
import com.spire.pdf.general.find.PdfTextFind;

import java.awt.geom.Rectangle2D;

public class ToolTip {
public static void main(String[] args) {
//加载示例文档
PdfDocument pdf = new PdfDocument();
pdf.loadFromFile("test.pdf");

//获取第2页并查找字符串,获取其位置
PdfPageBase page = pdf.getPages().get(1);
PdfTextFind[] result = page.findText("安装与反安装测试").getFinds();
Rectangle2D rec = result[0].getBounds();

//在搜索文本上添加不可见按钮
PdfButtonField field1 = new PdfButtonField(page, "field1");
field1.setBounds(rec);
//设置工具提示文本及样式
field1.setToolTip( "详见文末附件内容及使用手册!");
field1.setBorderWidth(0);
field1.setLayoutMode(PdfButtonLayoutMode.Icon_Only);
field1.getIconLayout().isFitBounds();

//保存文档
pdf.saveToFile("Result.pdf", FileFormat.PDF);
pdf.dispose();
}
}

工具提示添加效果如图:

Java 在PDF中添加工具提示ToolTip_工具提示_04


—End—