利用Java實現(xiàn)在PDF中添加工具提示
本文,將介紹如何通過Java后端程序代碼在PDF中創(chuàng)建工具提示。添加工具提示后,當鼠標懸停在頁面上的元素時,將顯示工具提示內(nèi)容。
導入jar包
本次程序中使用的是 Free Spire.PDF for Java,具體導入jar文件的方法參考如下內(nèi)容。
兩種方法可導入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文件,然后執(zhí)行如下圖中的步驟導入:



添加工具提示ToolTip
在本次代碼中給PDF添加提示工具以查找的指定文本元素為例,主要步驟如下:
- 實例化PdfDocument類的對象,并通過PdfDocument.loadFromFile(String filename)方法加載PDF文檔。
- 通過PdfPageBase.findText(String searchPatternText).getFinds()方法查找頁面上的指定文本,并獲取查找到的文字邊界。
- 創(chuàng)建一個PdfButtonField類型的按鈕,將大小設置為查找到的文字邊界大??;并通過PdfButtonField.setToolTip(String value)方法設置工具提示內(nèi)容。
- 通過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( "詳見文末附件內(nèi)容及使用手冊!");
field1.setBorderWidth(0);
field1.setLayoutMode(PdfButtonLayoutMode.Icon_Only);
field1.getIconLayout().isFitBounds();
//保存文檔
pdf.saveToFile("Result.pdf", FileFormat.PDF);
pdf.dispose();
}
}工具提示添加效果如圖:

到此這篇關于利用Java實現(xiàn)在PDF中添加工具提示的文章就介紹到這了,更多相關Java PDF加工具提示內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
springboot數(shù)據(jù)庫密碼加密的配置方法
這篇文章主要給大家介紹了關于springboot數(shù)據(jù)庫密碼加密的配置方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-04-04
Java中notify和notifyAll的區(qū)別及何時使用
本文主要介紹了Java中notify和notifyAll的區(qū)別及何時使用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-09-09
java設計模式原型模式與享元模式調(diào)優(yōu)系統(tǒng)性能詳解
這篇文章主要為大家介紹了java設計模式原型模式與享元模式調(diào)優(yōu)系統(tǒng)性能方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-05-05
java結合WebSphere MQ實現(xiàn)接收隊列文件功能
WebSphereMQ,也稱MQSeries,以一致的、可靠的和易于管理的方式來連接應用程序,并為跨部門、企業(yè)范圍的集成提供了可靠的基礎。通過為重要的消息和事務提供可靠的、一次且僅一次的傳遞,MQ可以處理復雜的通信協(xié)議,并動態(tài)地將消息傳遞工作負載分配給可用的資源。2015-10-10

