国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

java抽取word,pdf的四種武器

2019-11-18 13:23:55
字體:
供稿:網(wǎng)友

  chris (chris@matrix.org.cn)
  畢業(yè)于中國人民大學(xué)信息學(xué)院
  2003 年 6 月
  
  很多人用java進(jìn)行文檔操作時經(jīng)常會碰到一個問題,就是如何獲得WordExcel,pdf等文檔的內(nèi)容?我研究了一下,在這里總結(jié)一下抽取word,pdf的幾種方法。
  1 .用jacob
  其實jacob是一個bridage,連接java和com或者win32函數(shù)的一個中間件,jacob并不能直接抽取word,excel等文件,需要自己寫dll哦,不過已經(jīng)有為你寫好的了,就是jacob的作者一并提供了。
  
  jacob jar與dll文件下載: http://www.matrix.org.cn/down_view.asp?id=13
  
  下載了jacob并放到指定的路徑之后(dll放到path,jar文件放到classpath),就可以寫你自己的抽取程序了,下面是一個簡單的例子:
  
  
  import java.io.File;
  import com.jacob.com.*;
  import com.jacob.activeX.*;
  /**
   * 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 FileExtracter{
   public static void main(String[] args) {
   ActiveXComponent component = new ActiveXComponent("Word.application");
   String inFile = "c://test.doc";
   String tpFile = "c://temp.htm";
   String otFile = "c://temp.xml";
   boolean flag = false;
   try {
   component.set   Object wordacc = component.getProperty("document.").toDispatch();
   Object wordfile = Dispatch.invoke(wordacc,"Open", Dispatch.Method,
   new Object[]{inFile,new Variant(false), new Variant(true)},
   new int[1] ).toDispatch();
   Dispatch.invoke(wordfile,"SaveAs", Dispatch.Method, new Object[]{tpFile,new Variant(8)}, new int[1]);
   Variant f = new Variant(false);
   Dispatch.call(wordfile, "Close", f);
   flag = true;
   } catch (Exception e) {
   e.printStackTrace();
   } finally {
   component.invoke("Quit", new Variant[] {});
   }
   }
  }
  
  
  
  
  2. 用apache的poi來抽取word,excel。
  poi是apache的一個項目,不過就算用poi你可能都覺得很煩,不過不要緊,這里提供了更加簡單的一個接口給你:
  
  下載經(jīng)過封裝后的poi包: http://www.matrix.org.cn/down_view.asp?id=14
  
  下載之后,放到你的classpath就可以了,下面是如何使用它的一個例子:
  
  
  import java.io.*;
  import org.textmining.text.extraction.WordExtractor;
  /**
   *

Title: word 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 PdfExtractor {
   public PdfExtractor() {
   }
   public static void main(String args[]) throws Exception
   {
   FileInputStream in = new FileInputStream ("c://a.doc");
   WordExtractor extractor = new WordExtractor();
   String str = extractor.extractText(in);
   System.out.println("the result length is"+str.length());
   System.out.println("the result is"+str);
  }
  }
  
  
  
  
  3. pdfbox-用來抽取pdf文件
  但是pdfbox對中文支持還不好,先下載pdfbox: http://www.matrix.org.cn/down_view.asp?id=12
  
  下面是一個如何使用pdfbox抽取pdf文件的例子:
  
  
  import org.pdfbox.pdmodel.PDdocument.
  import org.pdfbox.pdfparser.PDFParser;
  import java.io.*;
  import org.pdfbox.util.PDFTextStripper;
  import java.util.Date;
  /**
   *



發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 广东省| 宁城县| 祥云县| 东台市| 旌德县| 汤阴县| 西安市| 扬中市| 江西省| 金沙县| 尼木县| 沙洋县| 海口市| 海口市| 同心县| 德保县| 东莞市| 新余市| 长春市| 平陆县| 阳泉市| 甘洛县| 拉孜县| 交城县| 安阳县| 广饶县| 随州市| 根河市| 碌曲县| 巴青县| 班玛县| 同仁县| 含山县| 宁波市| 锦州市| 广州市| 资源县| 云安县| 平阳县| 克什克腾旗| 讷河市|