`

java 处理word,excel,pdf -javacode

阅读更多
java 处理word,excel,pdf -javacode
2008年08月27日 星期三 01:08 P.M.

java 处理word,excel,pdf -javacode

很多人问到如何抽取word,excel,pdf阿。这里我总结一下抽取word,pdf的
几种方法。
1。用jacob.
其实jacob是一个bridage,连接java和com或者win32函数的一个中间件,jacob并不能直接抽取word,excel等文件,需要自己写dll哦,不过已经有为你写好的了,就是jacob的作者一并提供了。
jacob下载:
http://www.java-cn.com/technology/tech_downs/1880_001.zip
下载了jacob并放到指定的路径之后(dll放到path,jar文件放到classpath),就可以写你自己的抽取程序了,下面是一个例子:
import java.io.File;
import com.jacob.com.*;
import com.jacob.activeX.*;

public class FileExtracter{

public static void main(String[] args) {

ActiveXComponent app = new ActiveXComponent("Word.Application");
String inFile = "c: est.doc";
String tpFile = "c: emp.htm";
String otFile = "c: emp.xml";
boolean flag = false;
try {
app.setProperty("Visible", new Variant(false));
Object docs = app.getProperty("document.").toDispatch();
Object doc = Dispatch.invoke(docs,"Open", Dispatch.Method, new Object[]{inFile,new Variant(false), new Variant(true)}, new int[1]).toDispatch();
Dispatch.invoke(doc,"SaveAs", Dispatch.Method, new Object[]{tpFile,new Variant(8)}, new int[1]);
Variant f = new Variant(false);
Dispatch.call(doc, "Close", f);
flag = true;
} catch (Exception e) {
e.printStackTrace();
} finally {
app.invoke("Quit", new Variant[] {});
}

}
}
2。用apache的poi来抽取word,excel。
poi是apache的一个项目,不过就算用poi你可能都觉得很烦,不过不要紧,这里提供了更加简单的一个接口给你:
下载经过封装后的poi包:
http://www.java-cn.com/technology/tech_downs/1880_002.zip
下载之后,放到你的classpath就可以了,下面是如何使用它的一个例子:
import java.io.*;
import org.textmining.text.extraction.WordExtractor;
/**
* <p>Title: pdf extraction</p>
* <p>Description: email:chris@matrix.org.cn</p>
* <p>Copyright: Matrix Copyright (c) 2003</p>
* <p>Company: Matrix.org.cn</p>
* @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.java-cn.com/technology/tech_downs/1880_003.zip
下面是一个如何使用pdfbox抽取pdf文件的例子:
import org.pdfbox.pdmodel.PDdocument.
import org.pdfbox.pdfparser.PDFParser;
import java.io.*;
import org.pdfbox.util.PDFTextStripper;
import java.util.Date;
/**
* <p>Title: pdf extraction</p>
* <p>Description: email:chris@matrix.org.cn</p>
* <p>Copyright: Matrix Copyright (c) 2003</p>
* <p>Company: Matrix.org.cn</p>
* @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+" ");
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.java-cn.com/technology/tech_downs/1880_004.zip
同时需要下载支持中文的补丁包:
http://www.java-cn.com/technology/tech_downs/1880_005.zip
按照readme放好中文的patch,就可以开始写调用本地方法的java程序了
下面是一个如何调用的例子:
import java.io.*;
/**
* <p>Title: pdf extraction</p>
* <p>Description: email:chris@matrix.org.cn</p>
* <p>Copyright: Matrix Copyright (c) 2003</p>
* <p>Company: Matrix.org.cn</p>
* @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 Filesxpdfpdftotext.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);
}
}

http://hi.baidu.com/stq1102/blog

http://hi.baidu.com/xuecj/blog/item/37b5938b6f1b75d6fd1f103e.html

 

分享到:
评论

相关推荐

    JAVA读取WORD_EXCEL_POWERPOINT_PDF文件的方法(poi)

    JAVA 读取 WORD_EXCEL_POWERPOINT_PDF 文件的方法(poi) JAVA 读取 WORD_EXCEL_POWERPOINT_PDF 文件的方法是使用 Apache POI 库来实现的。POI 库是一个开放源代码的 Java 库,提供了对 Microsoft Office 文件格式...

    使用ITEXT导出PDF、WORD,APACHE POI导出EXCEL报表文件

    在IT行业中,生成各种类型的文档是常见的需求,例如PDF、Word和Excel报表。本文将深入探讨如何使用ITEXT库导出PDF和Word,以及利用Apache POI库导出Excel报表文件。 首先,让我们来了解ITEXT库。ITEXT是一个开源...

    peoplecode调用java生成word简历文档

    XMLPUBLISHER允许开发人员设计模板,并使用XML数据填充这些模板来生成报告,如Word文档、PDF、Excel等格式。在这个过程中,People Code可能用于触发XMLPUBLISHER的执行,或者传递必要的数据和指令。 3. **Java 类 ...

    SpringBoot整合poi实现Excel文件的导入和导出.pdf

    在SpringBoot项目中,我们经常需要处理Excel文件的导入与导出功能,这在数据分析、数据交换等场景中尤其常见。Apache POI 是一个流行的Java库,它允许开发者读写Microsoft Office格式的文件,包括Excel。下面我们将...

    SpringBoot实现的在线实时编辑文档SpringBoot(30) 整合PageOffice实现在线编辑Word和Excel

    然后,创建一个控制器(Controller),处理在线编辑Word和Excel的请求。这里需要定义两个主要的方法:一个是打开文档,另一个是保存编辑后的文档。在打开文档的方法中,PageOfficeController提供了打开本地文件或URL...

    aspose.word

    在IT行业中,文档格式的转换是...综上所述,Aspose.Word是处理Word到PDF转换任务的理想工具,它的易用性和高性能使其在各种场景下都能发挥重要作用。通过合理的集成和应用,可以极大地提升工作效率,简化文档管理工作。

    Java经典入门教程pdf完整版

    word、 excel等运行在木机上的应用就属」桌面应用。 2:企业级应用 先解释一下企业级应用:简单的说是大规模的应用,一般使用人数较多,数据量较大, 对系统的稳定性、安全性、可扩展性和可装配性等都有比较高的要求 这是...

    Java 添加条码、二维码到PDF文档.docx

    Spire.Office.jar是一个强大的Java库,它提供了处理PDF、Excel、Word等多种文档格式的功能,包括添加条码和二维码。 在Maven项目中,你需要在pom.xml文件中添加Spire.Office的依赖,如下所示: ```xml &lt;id&gt;...

    我的工具包,基本数据操作,Excel,Word导出导入,文件操作

    例如,使用脚本批量将一批Excel文件转换为CSV,或者批量导出Word文档为PDF。这通常需要编程技能,结合文件遍历和特定应用的API来实现。 6. **集成开发环境(IDE)**:为了提高效率,开发者通常会使用IDE,如Visual ...

    java实现文库在线阅读

    根据题目描述,本项目旨在通过Java技术实现一种类似于百度文库或豆丁网的在线文档阅读功能,支持多种格式如TXT/Word/Excel/PPT/Word PDF SWF等文件的在线浏览。实现这一功能的主要技术路线分为四类: 1. **先将文档...

    通用的Java工具类,包含文件(word,exel),图片,文件加密,二维码,字符串,文件操作等工具类集合

    这个工具库可能包含了对Word和Excel文件的特别支持,这可能意味着它集成了Apache POI库,该库允许Java开发者读写Microsoft Office格式的文件,包括HSSF(用于Excel)和XSSF(用于XML-based Excel)。 2. 图片处理:...

    java条形码识别

    除了基本的条形码识别,Aspose.BarCode还可以生成嵌入在PDF、Word、Excel等文档中的条形码,并且支持将条形码作为图片导出。这使得它在文档处理场景下同样实用。 总的来说,Aspose.BarCode for Java是一个强大且...

    2019-5-9-xc-lib.zip

    6. **poi-3.17.jar**:Apache POI是用于处理Microsoft Office格式(如Excel、Word、PowerPoint)的Java库。版本3.17提供了对这些文件格式的广泛支持和改进。 7. **xbean-2.2.0.jar**:Apache XBean是一个轻量级容器...

    html转Word与PDFjar包与代码

    Apache POI是Java社区开发的一个开源库,主要用于处理Microsoft Office格式的文件,如Word(.doc/.docx)、Excel(.xls/.xlsx)和PowerPoint(.ppt/.pptx)。在我们的场景中,我们将重点讨论如何用POI将HTML转换为...

    android 打开各种文档的demo

    在Android平台上,开发人员经常需要处理用户打开不同类型文档的需求,如Word、Excel、PowerPoint、PDF等。这个“android 打开各种文档的demo”提供了一个实用的示例,展示了如何在Android应用中实现这一功能。下面将...

    大学计算机考试答案学案.pdf

    - Word:通常指的是微软公司的文字处理软件Microsoft Word,是一个在办公自动化中广泛使用的文字处理器。 - Ctrl、Alt、Shift等键:这些是键盘上的控制键,通常与其他键组合使用来执行特定的计算机操作或快捷命令。 ...

    计算机应用基础考试题.zip

    - Microsoft Office:包括Word、Excel、PowerPoint等组件,用于文字处理、电子表格和演示文稿制作。 - Google Docs:在线协作编辑工具,支持文档、表格和幻灯片的创建。 - 文档格式转换:如将.docx文件转换为.pdf...

    计算机二级考试复习题.pdf

    - Office软件:如Word和Excel,是微软公司推出的办公自动化软件,用于文档处理和电子表格管理。 - Internet Explorer:微软开发的网页浏览器,用于访问和浏览互联网上的网页。 4. 计算机网络: - IP地址:全称为...

Global site tag (gtag.js) - Google Analytics