java读取word有几种方式?
今天心血来潮,上网查了查java怎么实现word的操作,发现还真不是很多,感觉也不怎么满意。
反正写下来供大家参考下也是好的,同时也希望得到大家的指点。
1.使用apache poi组件
先到http://poi.apache.org/index.html去下载poi-bin-3.2-FINAL-20081019.zip压缩包,把里面的三个jar加入工程中。下面写个测试servlet类。比如请求为href="/TestPOI/readword.do?doc=F:/test.doc"
public class ReadwordServlet extends HttpServlet {
static final private String CONTENT_TYPE = "text/html; charset=gb2312";
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType(CONTENT_TYPE);
response.setHeader("Content-Disposition", "test.doc");
String doc = request.getParameter("doc");
String text = null;
try {
text = readDoc(doc);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
PrintWriter out = response.getWriter();
result(request, out, text);
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
}
private void result(HttpServletRequest request, PrintWriter out, String text)
throws ServletException, IOException {
out.println("<h3>DOCBEGIN</h3><br/>");
out.println(text);
out.println("<br/><h3>DOCEND</h3>");
out.close();
}
///使用POI的WordExtractor类进行读取word内容
private String readDoc(String doc) throws Exception{
FileInputStream in = new FileInputStream(new File(doc));
WordExtractor extrator = new WordExtractor(in);
String text = extrator.getText();
return text;
}
}
2. 使用POI的拓展包tm-extractors-0.4.jar
http://mirrors.ibiblio.org/pub/mirrors/maven2/org/textmining/tm-extractors/0.4/去下载并加入工程中,它一个就够了,不用POI.
替换掉原先readDoc(String doc)方法就可以。
private String readDoc(String doc) throws Exception{
FileInputStream in = new FileInputStream(new File(doc));
WordExtractor extrator = new WordExtractor();
String text = extrator.extractText(in);
return text;
}
3. 使用FileInputStream流的方式:
用下面替换掉CONTENT_TYPE(因为流对word格式不熟悉无法自己处理,所以只能使用word格式了)
static final private String CONTENT_TYPE = "application/msword; charset=gb2312";
用下面替换doPost方法内容
response.setContentType(CONTENT_TYPE);
response.setHeader("Content-Disposition", "test.doc");
String doc = request.getParameter("doc");
FileInputStream fin = new FileInputStream(doc);
OutputStream out = response.getOutputStream();
byte[] bs = new byte[2048];
for(int i=fin.read(bs); i>-1; i=fin.read(bs)){
out.write(bs, 0, i);
}
fin.close();
out.close();
4. 可以使用中间件,效果当然很好,但是要花钱。如:科翰软件的微软office网路中间件
http://www.kehansoft.com/soaoffice/doclist.asp
或者NTKO Office也可以。
以上也大都是通过网上学习的,也不知道有没有更好的处理方式?大家可以给点建议。
第一次用心写点东西,希望大家多给点点评。
分享到:
相关推荐
总结来说,Java读取Word文档页数可以通过两种主要途径:一是直接使用Jacob库操作Word文档;二是先将Word转换为PDF,再使用iTextPDF库读取PDF的页数。这两种方法各有优劣,应根据具体项目需求和环境选择合适的方法。
本文将介绍 Java 如何读取 Word、PDF 格式文档的几种方法。 使用 Jacob Jacob 是一个桥接工具,连接 Java 和 COM 或 Win32 函数的一个中间件。使用 Jacob 可以读取 Word 文档的内容。首先,需要下载 Jacob 的 jar ...
下面将详细介绍其中的几种常见技术,包括使用Microsoft Office Interop、Open XML SDK、Apache POI(仅限于.NET Core)以及第三方库如NPOI和Spire.Doc。 1. **Microsoft Office Interop**:这是最传统的方法,通过...
此外,描述中还提到了“java读取压缩文件解包压缩文件等各种文件操作类”,这意味着这个项目可能包含了一套完整的文件操作工具集,包括: - **压缩文件**:使用`ZipOutputStream`可以创建ZIP文件,将多个文件或目录...
Java 读取Word文档主要涉及的是处理不同类型的文档格式,如.doc、.docx或.rtf等。在Java中,由于Microsoft的Word文档格式复杂,直接读取并不简单,因此通常需要借助第三方库来实现。在给定的描述中提到了几种常用的...
总的来说,Java读取Word文件的方法取决于具体需求和可用资源。如果对性能和稳定性有较高要求,或者需要处理复杂的格式,可能需要选择更专业的库;而对于简单的文本替换任务,使用RTF格式和基础的IO操作可能是一个...
Java 获取 Word 中的所有插入和删除修订 在 Word 文档中启用跟踪更改功能后,会记录文档中的所有编辑行为,例如插入、删除、替换和格式更改。这篇文章将介绍如何使用 Java 获取 Word 文档中的所有插入和删除修订。 ...
#### 五、Java读取Word模板文件的方法 在Java环境中读取Word模板文件并填充数据,通常需要借助第三方库,例如Apache POI。以下是简化的步骤: 1. **导入Apache POI库**:在项目中添加Apache POI依赖。 2. **读取...
1. **读取Word文档**:使用HWPFDocument或XWPFDocument类根据文档格式打开Word文件。如果是Word 2003格式(.doc),则使用HWPFDocument;如果是Word 2007及以上版本(.docx),则使用XWPFDocument。 2. **遍历文档...
本篇将详细介绍如何使用Java来操作Word和PDF文档,并在其中的图片上生成水印。 首先,我们关注的是Java对Word文档的操作。Apache POI是一个非常流行的Java库,用于读写Microsoft Office格式的文件,包括Word(.docx...
在Java编程语言中,读取文件是常见的任务之一,尤其对于处理文本文件,如TXT文件,以行为单位读取文件内容是一种效率较高且易于管理数据的方式。本篇将深入探讨如何使用Java进行逐行读取TXT文件,并提供相关示例代码...
Java 是一种流行的编程语言,POI(Poor Obfuscation Implementation)是一个流行的 Java 库,用于操作 Microsoft Office 文件,包括 Word 文档。合并两个 Word 文档是指将两个独立的 Word 文档合并成一个新的 Word ...
本文将详细介绍几种常用的Java技术来实现Word和PDF文件内容的抽取。 #### 二、使用Jacob进行Word文件的抽取 ##### 1. Jacob简介 Jacob(Java COM Bridge)是一种允许Java应用程序调用COM组件的技术。通过Jacob,...
标题中的“poi资源包”指的是Apache POI项目,这是一个开源的Java库,专门用于处理Microsoft Office格式的文件,包括Word(.doc, .docx)、Excel(.xls, .xlsx)以及PowerPoint(.ppt, .pptx)等。这个库使得Java...
总的来说,Java调用PageOffice生成Word是一种高效、灵活的方法,尤其适用于需要从数据库中动态获取数据并填充到文档的场景。通过熟练掌握PageOffice的使用,开发者可以提升企业级应用的文档处理能力,提高工作效率。
Java作为一种广泛使用的编程语言,提供了多种库和工具来实现对Excel和Word的操作。本篇将详细讲解如何使用Java进行Excel和Word的处理。 首先,我们关注的标题"Java操作Excel和Word"涉及到两个主要部分:Excel和Word...
- **读取Word文档**:使用Apache POI的HSSFWorkbook或XWPFDocument类读取.doc或.docx文件,HWPFDocument用于处理RTF文件。 - **解析内容**:从Word文档中提取文本、段落样式、图片等信息。 - **创建PDF**:使用iText...
### POI导出Word的几种方法 在Java开发过程中,特别是在使用Grails框架时,我们经常需要处理文档的生成和转换任务。其中一种常见的需求就是将数据导出为Word文档。Apache POI库提供了一种非常高效且灵活的方式来...
JDOM是Java文档对象模型(Java Document Object Model)的简称,它提供了一种简便的方式来解析、创建和操作XML文档。 - **Element**: 用于表示XML文档中的元素。 - **Attribute**: 表示XML元素的属性。 - **...