Java 在PDF中添加工具提示|ToolTip

本文,将介绍如何通过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文件,然后执行如下图中的步骤导入:

 

 

 

 

 

 

添加工具提示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();
    }
}

工具提示添加效果如图:

 

 

—End—

 

posted @ 2022-01-11 14:23  E-iceblue  阅读(378)  评论(0编辑  收藏  举报