zoukankan      html  css  js  c++  java
  • Java 在PDF中添加工具提示|ToolTip E

    本文,将介绍如何通过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—

  • 相关阅读:
    机器学习笔记之数据预处理(Python实现)
    机器学习笔记之matplotlib绘图核心原理
    机器学习笔记之Matplotlib库legend() scatter() plot() figure() subplot()函数参数解释
    Kafka学习笔记之kafka常见报错及解决方法(topic类、生产消费类、启动类)
    Elasticsearch学习笔记之Prometheus监控ElasticSearch核心指标
    Kafka学习笔记之Kafka应用问题经验积累
    Kafka学习笔记之kafka.common.KafkaException: Should not set log end offset on partition
    CRM 价格更新
    定时 任务 C# 思路
    使用ExtentReports生成Testng测试报告
  • 原文地址:https://www.cnblogs.com/Yesi/p/15788144.html
Copyright © 2011-2022 走看看