Java 在PDF中新增工具提示|ToolTip

iceblue發表於2022-01-11

本文,將介紹如何通過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—

 

相關文章