1. 程式人生 > 程式設計 >java 查詢替換pdf中的指定文字

java 查詢替換pdf中的指定文字

本文介紹通過Java程式批量替換PDF中的指定文字內容。

程式環境準備如下:

java 查詢替換pdf中的指定文字

程式使用環境如圖,需要注意的是,本文使用了免費版的PDF jar工具;另外JDK版本建議使用高版本更佳。

jar檔案匯入後,可呼叫Spire.PDF提供的介面、方法等操作PDF,參考如下匯入結果:

java 查詢替換pdf中的指定文字

注:可手動下載jar包。下載後,解壓檔案,將lib資料夾下的Spire.Pdf.jar檔案匯入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);

      //建立畫刷、字型
      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中的指定文字

以上就是java 查詢替換pdf中的指定文字的詳細內容,更多關於java 查詢替換文字的資料請關注我們其它相關文章!