下面是代码,还请指证,不报错,但出不来结果。// 搜索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;
}
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的博客文章。分享一下:
http://blog.csdn.net/yangjiyue/archive/2007/11/14/1885482.aspx
可以试试,如果是仪器导出的pdf文件估计应该没问题了
1、打开文件
2、校验文件(文件不存在,不是PDF文件,不可读等等)
3、将文件读取到内存中
4、创建绘制画板
5、分析当前页面位置,绘制到画板上
。
我当时就凌乱了
http://blog.csdn.net/yinbaicheng/archive/2011/01/25/6163345.aspx
这里有个pdf转txt文件的代码,希望对楼主有帮助!