本文將介紹通過Java程序來讀取PDF文檔中的文本和圖片的方法。分別調用方法extractText()和extractImages()來讀取。
使用工具:Free Spire.PDF for Java(免費版)
Jar文件獲取導入:
方法1:通過官網下載jar文件包。下載後,解壓文件,並將lib文件夾下的Spire.Pdf.jar文件導入java程序。導入後如下圖:
Java代碼示例
【示例1】讀取PDF中的文本
import com.spire.pdf.*;
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();
}
}
pdf.close();
}
}
文本讀取結果:
【示例2】讀取PDF中的圖片
import com.spire.pdf.*;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
public class ExtractImg {
public static void main(String[] args) throws Exception{
//加載測試文檔
PdfDocument pdf = new PdfDocument();
pdf.loadFromFile("test.pdf");
//定義一個int型變量
int index = 0;
//遍歷PDF每一頁
for (int i= 0;i< pdf.getPages().getCount(); i ++){
//獲取PDF頁面
PdfPageBase page = pdf.getPages().get(i);
//使用extractImages方法獲取頁面上圖片
for (BufferedImage image : page.extractImages()) {
//指定輸出圖片名稱
File output = new File( String.format("Image_%d.png", index++));
//將圖片保存爲PNG格式文件
ImageIO.write(image, "PNG", output);
}
}
}
}
圖片讀取結果:
(本文完)