网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.java中关于星期时间的操作.
.Java通用集合库.
.Java入门笔记7_Stream.
.J2EE工程实现中常见安全问题解决.
.Java运行时多态性的实现.
.使用Java语言编写程序最容易犯的.
.substring 方法.
.第一个JSR-184 MIDlet.
.SCJP认证套题解析之八.
.如何寻一个类X实例中类的物理所在.
.PowerFolder 工作流服务器版本0..
.JAVA实例:学会数字签名.
.Java 2D 功能概述.
.Java的网络功能与编程 一(转)-.
.关于j2se的一些知识和技巧.
.JBuilder2005单元测试之创建测试.
.利用JavaSwing实现游戏开发.
.使用BufferedReader读取文件.
.编写高效的线程安全类.
.向 MIDP2.0 窗体加入自定义项目.

java抽取word,pdf的四种武器

发表日期:2008-1-5



  chris (chris@matrix.org.cn)
  毕业于中国人民大学信息学院
  2003 年 6 月
  
  很多人用Java进行文档操作时经常会碰到一个问题,就是如何获得Word,Excel,pdf等文档的内容?我研究了一下,在这里总结一下抽取word,pdf的几种方法。
  1 .用jacob
  其实jacob是一个bridage,连接java和com或者win32函数的一个中间件,jacob并不能直接抽取word,excel等文件,需要自己写dll哦,不过已经有为你写好的了,就是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.setProperty("Visible", new Variant(false));
   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你可能都觉得很烦,不过不要紧,这里提供了更加简单的一个接口给你:
  
  下载经过封装后的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;
  /**
   *


上一篇:定义一个包 人气:621
下一篇:静态成员 人气:660
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐