Java 讀取PDF中的文本和圖片的方法
本文將介紹通過(guò)Java程序來(lái)讀取PDF文檔中的文本和圖片的方法。分別調(diào)用方法extractText()和extractImages()來(lái)讀取。
使用工具:Free Spire.PDF for Java(免費(fèi)版)
Jar文件獲取導(dǎo)入:
方法1:通過(guò)官網(wǎng)下載jar文件包。下載后,解壓文件,并將lib文件夾下的Spire.Pdf.jar文件導(dǎo)入java程序。導(dǎo)入后如下圖:
方法2: 可通過(guò)maven倉(cāng)庫(kù)安裝導(dǎo)入。
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 { //加載測(cè)試文檔 PdfDocument pdf = new PdfDocument("sample.pdf"); //實(shí)例化StringBuilder類 StringBuilder sb = new StringBuilder(); //定義一個(gè)int型變量 int index = 0; //遍歷PDF文檔中每頁(yè) PdfPageBase page; for (int i= 0; i<pdf.getPages().getCount();i++) { page = pdf.getPages().get(i); //調(diào)用extractText()方法提取文本 sb.append(page.extractText(true)); FileWriter writer; try { //將StringBuilder對(duì)象中的文本寫入到txt writer = new FileWriter("ExtractText.txt"); writer.write(sb.toString()); writer.flush(); } catch (IOException e) { e.printStackTrace(); } //調(diào)用extractImages方法獲取圖片 for (BufferedImage image : page.extractImages()) { //指定輸出圖片名,指定圖片格式 File output = new File(String.format("Image_%d.png", index++)); ImageIO.write(image, "PNG", output); } } pdf.close(); } }
文本和圖片讀取效果:
總結(jié)
以上所述是小編給大家介紹的Java 讀取PDF中的文本和圖片的方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
SpringBoot利用注解來(lái)實(shí)現(xiàn)Redis分布式鎖
有些業(yè)務(wù)請(qǐng)求,屬于耗時(shí)操作,需要加鎖,防止后續(xù)的并發(fā)操作,同時(shí)對(duì)數(shù)據(jù)庫(kù)的數(shù)據(jù)進(jìn)行操作,需要避免對(duì)之前的業(yè)務(wù)造成影響。本文將利用注解來(lái)實(shí)現(xiàn)Redis分布式鎖,需要的可以參考一下2022-09-09用java將GBK工程轉(zhuǎn)為uft8的方法實(shí)例
本篇文章主要介紹了用java將GBK工程轉(zhuǎn)為uft8的方法實(shí)例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08詳解Java創(chuàng)建多線程的四種方式以及優(yōu)缺點(diǎn)
這篇文章主要介紹了Java創(chuàng)建多線程的四種方式以及優(yōu)缺點(diǎn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11springboot?vue接口測(cè)試定義編輯功能的實(shí)現(xiàn)
這篇文章主要為大家介紹了springboot?vue接口測(cè)試定義編輯功能的實(shí)現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05@JsonFormat 實(shí)現(xiàn)日期格式自動(dòng)格式化
這篇文章主要介紹了@JsonFormat 實(shí)現(xiàn)日期格式自動(dòng)格式化,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08