java读pdf一行_java读与pdf白件的时分呈现非常

在使用Java读取PDF文件时遇到NoClassDefFoundError异常,具体为缺少org/fontbox/cmap/CMapParser类。问题解决方案是寻找并添加fontbox.jar到项目依赖中。该代码示例用于将文本格式的PDF转换为TXT文件,但不适用于包含图片的PDF。使用PDFBox库进行文本提取,可能出现某些字符乱码的情况。
摘要由CSDN通过智能技术生成

java读与pdf白件的时分呈现非常

(2011-06-25 09:45:53)

标签:

淑女屋

丝塔芙

杂谈

Exception in thread "main" java.lang.NoClassDefFoundError:

org/fontbox/cmap/CMapParserat

org.pdfbox.pdmodel.font.PDFont.parseCmap(PDFont.java:534)at

org.pdfbox.pdmodel.font.PDFont.encode(PDFont.java:387)at

org.pdfbox.util.PDFStreamEngine.showString(PDFStreamEngine.java:325)at

org.pdfbox.util.operator.ShowText.process(ShowText.java:64)at

org.pdfbox.util.PDFStreamEngine.processOperator(PDFStreamEngine.java:452)at

org.pdfbox.util.PDFStreamEngine.processSubStream(PDFStreamEngine.java:215)at

org.pdfbox.util.PDFStreamEngine.processStream(PDFStreamEngine.java:174)at

org.pdfbox.util.PDFTextStripper.processPage(PDFTextStripper.java:336)at

org.pdfbox.util.PDFTextStripper.processPages(PDFTextStripper.java:259)at

org.pdfbox.util.PDFTextStripper.writeText(PDFTextStripper.java:216)at

com.ty.test.testread.geText(testread.java:83)at

com.ty.test.testread.main(testread.java:25)ava.lang.NoClassDefFoundError:

org/fontbox/cmap/CMapParser很明显了少了1个jar包,自了、org/fontbox/cmap/CMapParser来望,jar包名儿有能够带fontbox的实儿,您正在百度上检索下

fontbox.jar尝尝能不能觅到那个jar包呢?当时念把pdf中的笔墨读取成txt文件,方便人的电话浏览,写了以下代码,处置完成了那个小须要他人解问的标题所需求的包:PDFBox-0.7.3.zip

解压文件夹下:external下的全部,lib文件下的PDFBox-0.7.3.jar细致:只能读取文原格局的pdf,假如pdf为图片款式的,丝塔芙http://sd.riavsd.com/,本步伐不能利用!步伐引见:原步伐将文本格局pdf中的笔墨读掏进去,存进取pdf白件同文件实的TXT文原白档。支持中文,但是正在某些笔墨上会出现紊乱的标记.package

com.small;import java.io.File;import

java.io.FileOutputStream;import java.io.OutputStreamWriter;import

java.io.Writer;import java.net.MalformedURLException;import

java.net.URL;import org.pdfbox.pdmodel.PDDocument;import

org.pdfbox.util.PDFTextStripper;public class Pdfreader {public void

readFdf(String file) throws Exception {// 能否排序boolean sort =

false;// pdf文件名String pdfFile = file;// 输进文本文件称号String textFile =

null;// 编码方式String encoding = "GB2312";// 开端降出与患上页数int startPage =

1;// 收场降出取患上页数int endPage = Integer.MAX_VALUE;// 文件输入淌,淑女屋http://www.m1995.info/,生成文本文件Writer

output = null;// 内存中贮存的PDF DocumentPDDocument document = null;try

{try {// 起首当作1个URL来装载文件,假如获患上异常再自外地文件系统//来装载文件URL url = new

URL(pdfFile);//细致参数已经没有因而前版本中的URL.而是File。document =

PDDocument.load(pdfFile);// 获取PDF的文件实String fileName =

url.getFile();// 以原来PDF的称号来命名新发生的txt文件 4) {File outputFile = new

File(fileName.substring(0, fileName.length() - 4) ".txt");textFile

= outputFile.getName();}} catch (MalformedURLException e) {//

假如做为URL装载获患上异常则自文件系统装载//细致参数已经没有因彼前版本中的URL.而是File。document =

PDDocument.load(pdfFile); 4) {textFile = pdfFile.substring(0,

pdfFile.length() - 4) ".txt";}}// 文件输入淌,写进文件倒textFileoutput = new

OutputStreamWriter(new FileOutputStream(textFile),encoding);//

PDFTextStripper来提出取患上文本PDFTextStripper stripper = null;stripper =

new PDFTextStripper();//

设置装备摆设能否排序stripper.setSortByPosition(sort);//

设置装备摆设肇始页stripper.setStartPage(startPage);//

配放停止页System.out.print(stripper.getText(document));stripper.setEndPage(endPage);//

挪用PDFTextStripper的writeText降出与患上并输出文本stripper.writeText(document,

output);} finally {if (output != null) {// 封闭输出淌output.close();}if

(document ,雾化器http://www.thety1.info/!=

null) {// 封闭PDF Documentdocument.close();}}} public static void

main(String[] args) {Pdfreader pdfReader = new Pdfreader();try {//

读取pdf文件pdfReader.readFdf("d:\\2\\D.pdf");} catch (Exception e)

{e.printStackTrace();}}}//hi.baidu.com/websays/blog/item/bb5a9daa950dc1baca130c7f

分享:

a4c26d1e5885305701be709a3d33442f.png喜欢

0

a4c26d1e5885305701be709a3d33442f.png赠金笔

加载中,请稍候......

评论加载中,请稍候...

发评论

登录名: 密码: 找回密码 注册记住登录状态

昵   称:

评论并转载此博文

a4c26d1e5885305701be709a3d33442f.png

发评论

以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值