下面是代码,还请指证,不报错,但出不来结果。
- Java code
// 搜索pdf public List<String> searchPdfFile(String keyword,List<String> items) throws IOException { File f = new File("/sdcard/LPR/lpr_pdf/");// 这是对应文件名 File[] fileList = f.listFiles(); PDDocument document = null; for(File filePdf : fileList) { Toast.makeText(EntAppSea.this, filePdf.getName(), Toast.LENGTH_LONG).show(); PDFTextStripper stripper = new PDFTextStripper(); document = PDDocument.load(filePdf); int pageNum = document.getNumberOfPages(); Toast.makeText(EntAppSea.this, String.valueOf(pageNum), Toast.LENGTH_LONG).show(); for(int i=1;i<=pageNum;i++) { stripper.setStartPage(i); stripper.setEndPage(i+1); String pdfStr = stripper.getText(document); if(pdfStr.indexOf(keyword)>-1) { items.add(filePdf.getName()+"第"+i+"页"); } } } return items; }
------解决方案--------------------
图片模式的PDF文件吧,比如说扫描件,你用PDF编辑工具,看看能不能取得里面的文本,如果是图片模式的PDF文件,估计就不好弄了。
另外,看过别人的一篇,关于读取PDF的博客文章。分享一下:
http://blog.csdn.net/yangjiyue/archive/2007/11/14/1885482.aspx
------解决方案--------------------
------解决方案--------------------
图片模式的PDF文件应该不能读取吧。。。
------解决方案--------------------
感觉PDF没法读取吧,http://blog.csdn.net/yangjiyue/archive/2007/11/14/1885482.aspx看了看
可以试试,如果是仪器导出的pdf文件估计应该没问题了
------解决方案--------------------
把PDF当BIN文件
------解决方案--------------------
看你的代码,你用的应该是apache的pdfbox,但Toast和EntAppSea是什么东东,你自己写的类吗?
------解决方案--------------------
关于这个问题,我见过一个比较NB的设计:
1、打开文件
2、校验文件(文件不存在,不是PDF文件,不可读等等)
3、将文件读取到内存中
4、创建绘制画板
5、分析当前页面位置,绘制到画板上
。。。。
我当时就凌乱了
------解决方案--------------------
楼主,能把完整的代码贴出来吗?学习一下,里面好多类名不知道是什么意思,我是新手,静观高手解决。
------解决方案--------------------
IO 流????
------解决方案--------------------
貌似有图片和加密过的pdf文件无法转换,
http://blog.csdn.net/yinbaicheng/archive/2011/01/25/6163345.aspx
这里有个pdf转txt文件的代码,希望对楼主有帮助!
------解决方案--------------------
密切关注,希望有好的解决方案
------解决方案--------------------
------解决方案--------------------
我刚才试了下别人给的代码,我从网上下的pdfbox-0.7.3.jar,不知道是不是正确的版本
------解决方案--------------------
把PDF直接转了吧!。别用PDF