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
分享:
喜欢
0
赠金笔
加载中,请稍候......
评论加载中,请稍候...
发评论
登录名: 密码: 找回密码 注册记住登录状态
昵 称:
评论并转载此博文
发评论
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。