热门文章 | 热门软件| 热门源码 | 热门电影 | 知识库 | 联系我们
软件 源码 教程 影视 健康 招聘
  HTML | JavaScript | ASP | PHP | JSP | NET | VB | VC | VF | Windows | Linux | Mysql | Mssql | Oracle | Struts 
当前位置: 创世纪计算机资源网 -> 文章频道 ->java 
站内搜索:
java抽取word,pdf的四种武器(2)
作者:chris 来源:不详 整理日期:2007-8-7

   * @author chris
   * @version 1.0,who use this example pls remain the declare
   */
  
  public class PdfExtracter{
  
  public PdfExtracter(){
   }
  public String GetTextFromPdf(String filename) throws Exception
   {
   String temp=null;
   PDdocument.nbsppdfdocument.null;
   FileInputStream is=new FileInputStream(filename);
   PDFParser parser = new PDFParser( is );
   parser.parse();
   pdfdocument.nbsp= parser.getPDdocument.);
   ByteArrayOutputStream out = new ByteArrayOutputStream();
   OutputStreamWriter writer = new OutputStreamWriter( out );
   PDFTextStripper stripper = new PDFTextStripper();
   stripper.writeText(pdfdocument.getdocument.), writer );
   writer.close();
   byte[] contents = out.toByteArray();
  
   String ts=new String(contents);
   System.out.println("the string length is"+contents.length+"\n");
   return ts;
  }
  public static void main(String args[])
  {
  PdfExtracter pf=new PdfExtracter();
  PDdocument.nbsppdfdocument.nbsp= null;
  
  try{
  String ts=pf.GetTextFromPdf("c:\\a.pdf");
  System.out.println(ts);
  }
  catch(Exception e)
   {
   e.printStackTrace();
   }
  }
  
  }
  
  
  
  
  4. 抽取支持中文的pdf文件-xpdf
  xpdf是一个开源项目,们可以调用他的本地方法来实现抽取中文pdf文件。
  
  下载xpdf函数包: http://www.matrix.org.cn/down_view.asp?id=15
  
  同时需要下载支持中文的补丁包: http://www.matrix.org.cn/down_view.asp?id=16
  
  按照readme放好中文的patch,就可以开始写调用本地方法的java程序了
  
  下面是一个如何调用的例子:
  
  
  import java.io.*;
  /**
   *

Title: pdf extraction


   *

Description: email:chris@matrix.org.cn


   *

Copyright: Matrix Copyright (c) 2003


   *

Company: Matrix.org.cn


   * @author chris
   * @version 1.0,who use this example pls remain the declare
   */
  
  
  public class PdfWin {
   public PdfWin() {
   }
   public static void main(String args[]) throws Exception
   {
   String PATH_TO_XPDF="C:\\Program Files\\xpdf\\pdftotext.exe";
   String filename="c:\\a.pdf";
   String[] cmd = new String[] { PATH_TO_XPDF, "-enc", "UTF-8", "-q", filename, "-"};
   Process p = Runtime.getRuntime().exec(cmd);
   BufferedInputStream bis = new BufferedInputStream(p.getInputStream());
   InputStreamReader reader = new InputStreamReader(bis, "UTF-8");
   StringWriter out = new StringWriter();
   char [] buf = new char[10000];
   int len;
   while((len = reader.read(buf))>= 0) {
   //out.write(buf, 0, len);
   System.out.println("the length is"+len);
   }
   reader.close();
   String ts=new String(buf);
   System.out.println("the str is"+ts);
   }
  }
   
  
  
  关于作者
  作者简介:chris,毕业于中国人民大学信息学院。现于香港进行金融分析软件研发,作者亦活跃于 jxta p2p开源软件的开发社区,并热衷于网络安全,AI搜索引擎技术与基于java的游戏引擎技术。
  如果大家谁有更好的办法,请告诉作者 : chris@matrix.org.cn
[1]  [2]  
相关文章