Java 讀取PDF中的文字和圖片

iceblue發表於2019-07-18

本文將介紹通過Java程式來讀取PDF文件中的文字和圖片的方法。分別呼叫方法extractText()和extractImages()來讀取。

 

使用工具:Free Spire.PDF for Java(免費版)

Jar檔案獲取匯入:

方法1通過官網下載jar檔案包。下載後,解壓檔案,並將lib資料夾下的Spire.Pdf.jar檔案匯入java程式。匯入後如下圖:

 

方法2 可通過maven倉庫安裝匯入。

 

Java程式碼示例

import com.spire.pdf.*;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

public class ExtractText {
    public static void main(String[]args) throws Exception {
        //載入測試文件
        PdfDocument pdf = new PdfDocument("sample.pdf");

        //例項化StringBuilder類
        StringBuilder sb = new StringBuilder();
        //定義一個int型變數
        int index = 0;

        //遍歷PDF文件中每頁
        PdfPageBase page;
        for (int i= 0; i<pdf.getPages().getCount();i++) {
            page = pdf.getPages().get(i);
            //呼叫extractText()方法提取文字
            sb.append(page.extractText(true));
            FileWriter writer;
            try {
                //將StringBuilder物件中的文字寫入到txt
                writer = new FileWriter("ExtractText.txt");
                writer.write(sb.toString());
                writer.flush();
            } catch (IOException e) {
                e.printStackTrace();
            }

            //呼叫extractImages方法獲取圖片
            for (BufferedImage image : page.extractImages()) {
                    //指定輸出圖片名,指定圖片格式
                    File output = new File(String.format("Image_%d.png", index++));
                    ImageIO.write(image, "PNG", output);
            }
        }
        pdf.close();
    }
}

文字和圖片讀取效果:

 

(本文完)

 

相關文章