java 查找替換pdf中的指定文本
本文介紹通過Java程序批量替換PDF中的指定文本內(nèi)容。
程序環(huán)境準備如下:

程序使用環(huán)境如圖,需要注意的是,本文使用了免費版的PDF jar工具;另外JDK版本建議使用高版本更佳。
jar文件導(dǎo)入后,可調(diào)用Spire.PDF提供的接口、方法等操作PDF,參考如下導(dǎo)入結(jié)果:

注:可手動下載jar包。下載后,解壓文件,將lib文件夾下的Spire.Pdf.jar文件導(dǎo)入Java程序。
Java 代碼示例
import com.spire.pdf.*;
import com.spire.pdf.general.find.PdfTextFind;
import com.spire.pdf.general.find.PdfTextFindCollection;
import com.spire.pdf.graphics.PdfBrushes;
import com.spire.pdf.graphics.PdfRGBColor;
import com.spire.pdf.graphics.PdfSolidBrush;
import com.spire.pdf.graphics.PdfTrueTypeFont;
import java.awt.*;
import java.awt.geom.Rectangle2D;
public class FindAndReplaceText {
public static void main(String[] args) {
//加載示例PDF文檔
PdfDocument pdf = new PdfDocument();
pdf.loadFromFile("咖啡豆.pdf");
//遍歷文檔每一頁
for (int i = 0; i < pdf.getPages().getCount(); i++)
{
//獲取所有頁面
PdfPageBase page = pdf.getPages().get(i);
//查找指定文本
PdfTextFindCollection textFindCollection;
textFindCollection = page.findText("咖啡",false);
//創(chuàng)建畫刷、字體
PdfSolidBrush brush1 = new PdfSolidBrush(new PdfRGBColor(Color.red));
PdfTrueTypeFont font1= new PdfTrueTypeFont(new Font("宋體",Font.PLAIN,9),true);
//用新的文本字符替換原有文本
Rectangle2D rec;
for(PdfTextFind find: textFindCollection.getFinds())
{
rec = find.getBounds();
page.getCanvas().drawRectangle(PdfBrushes.getWhite(), rec);
page.getCanvas().drawString("Coffee", font1, brush1, rec);
}
}
//保存文檔
pdf.saveToFile("FindAndReplaceText.pdf");
pdf.close();
}
}
文本替換前后效果:

以上就是java 查找替換pdf中的指定文本的詳細內(nèi)容,更多關(guān)于java 查找替換文本的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Spring Security注解方式權(quán)限控制過程
這篇文章主要介紹了Spring Security注解方式權(quán)限控制過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-03-03
SpringBoot如何讀取xml配置bean(@ImportResource)
這篇文章主要介紹了SpringBoot如何讀取xml配置bean(@ImportResource),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01
詳解Java Fibonacci Search斐波那契搜索算法代碼實現(xiàn)
這篇文章主要介紹了詳解Java Fibonacci Search斐波那契搜索算法代碼實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10
java字符串相加時的內(nèi)存表現(xiàn)和原理分析
這篇文章主要介紹了java字符串相加時的內(nèi)存表現(xiàn)和原理分析,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07
詳解Java虛擬機30個常用知識點之1——類文件結(jié)構(gòu)
這篇文章主要介紹了Java虛擬機類文件結(jié)構(gòu),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03

