//读取pdf 全部内容public static String topdffile(String pdffile){ StringBuffer result = new StringBuffer(); String str=null; FileInputStream is = null; PDDocument document = null; try { is = new FileInputStream(pdffile); PDFParser parser = new PDFParser(is); parser.parse(); document = parser.getPDDocument(); PDFTextStripper stripper = new PDFTextStripper(); str=stripper.getText(document); // System.out.println("------"+str+"--------------"); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if (is != null) { try { is.close(); } catch (IOException e) { e.printStackTrace(); } } if (document != null) { try { document.close(); } catch (IOException e) { e.printStackTrace(); } } } return str;-----------------------------------------------------------//分页查询保存到map里
// 是否排序 boolean sort = false; // pdf文件名 String pdfFile = file; // 输入文本文件名称 String textFile = null; // 编码方式 String encoding = "UTF-8"; // 开始提取页数 int startPage = 1; // 结束提取页数 int endPage =5; // 文件输入流,生成文本文件 Writer output = null; // 内存中存储的PDF Document PDDocument document = null; Map mpdf=new HashMap(); try { try { // 首先当作一个URL来装载文件,如果得到异常再从本地文件系统//去装载文件 URL url = new URL(pdfFile); //注意参数已不是以前版本中的URL.而是File。 document = PDDocument.load(pdfFile); // 获取PDF的文件名 String fileName = url.getFile(); // 以原来PDF的名称来命名新产生的txt文件 if (fileName.length() > 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); if (pdfFile.length() > 4) { textFile = pdfFile.substring(0, pdfFile.length() - 4) + ".txt"; } } // 文件输入流,写入文件倒textFile output = new OutputStreamWriter(new FileOutputStream(textFile), encoding); // PDFTextStripper来提取文本 PDFTextStripper stripper = null; stripper = new PDFTextStripper(); // 设置是否排序 stripper.setSortByPosition(sort);// // 设置起始页// stripper.setStartPage(startPage);// // 设置结束页// stripper.setEndPage(endPage); for(int i=startPage;i<=document.getNumberOfPages();i++){ stripper = new PDFTextStripper(); stripper.setSortByPosition(sort); // 设置起始页 stripper.setStartPage(i); // 设置结束页 stripper.setEndPage(i); String textT=stripper.getText(document); // System.out.println("第" + i+"页"); // System.out.println( "开始--------------------------------------------------------------------"); // System.out.println( textT); // System.out.println( "--------------------------------------------------------------------结束"); mpdf.put(i,textT); } // System.out.println(mpdf.size()); // 调用PDFTextStripper的writeText提取并输出文本// stripper.writeText(document, output);// System.out.println(stripper.getEndPage());// System.out.println( "*****="+stripper.getText(document));// System.out.println("*****22=" + stripper.getTextLineMatrix());// System.out.println("*****33=" + stripper.getTextMatrix());// System.out.println("*****44=" + stripper.getArticleStart());// System.out.println("*****55=" + stripper.getArticleEnd()); } finally { if (output != null) { // 关闭输出流 output.close(); } if (document != null) { // 关闭PDF Document document.close(); } } return mpdf; 返回map
时间: 2024-10-18 05:50:26