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操作可能是一个...
有两种方法可以实现: 1. 手动引入:下载 Free Spire.Doc for Java,并将其解压,然后在 lib 文件夹下找到 Spire.Doc.jar 文件。在 IDEA 中打开项目,选择 File -> Project Structure,然后选择 Modules -> ...
#### 五、Java读取Word模板文件的方法 在Java环境中读取Word模板文件并填充数据,通常需要借助第三方库,例如Apache POI。以下是简化的步骤: 1. **导入Apache POI库**:在项目中添加Apache POI依赖。 2. **读取...
本篇将详细介绍如何使用Java来操作Word和PDF文档,并在其中的图片上生成水印。 首先,我们关注的是Java对Word文档的操作。Apache POI是一个非常流行的Java库,用于读写Microsoft Office格式的文件,包括Word(.docx...
1. **读取Word文档**:使用HWPFDocument或XWPFDocument类根据文档格式打开Word文件。如果是Word 2003格式(.doc),则使用HWPFDocument;如果是Word 2007及以上版本(.docx),则使用XWPFDocument。 2. **遍历文档...
Java 是一种流行的编程语言,POI(Poor Obfuscation Implementation)是一个流行的 Java 库,用于操作 Microsoft Office 文件,包括 Word 文档。合并两个 Word 文档是指将两个独立的 Word 文档合并成一个新的 Word ...
在Java编程语言中,读取文件是常见的任务之一,尤其对于处理文本文件,如TXT文件,以行为单位读取文件内容是一种效率较高且易于管理数据的方式。本篇将深入探讨如何使用Java进行逐行读取TXT文件,并提供相关示例代码...
本文将详细介绍几种常用的Java技术来实现Word和PDF文件内容的抽取。 #### 二、使用Jacob进行Word文件的抽取 ##### 1. Jacob简介 Jacob(Java COM Bridge)是一种允许Java应用程序调用COM组件的技术。通过Jacob,...
总的来说,Java调用PageOffice生成Word是一种高效、灵活的方法,尤其适用于需要从数据库中动态获取数据并填充到文档的场景。通过熟练掌握PageOffice的使用,开发者可以提升企业级应用的文档处理能力,提高工作效率。
Java作为一种广泛使用的编程语言,提供了多种库和工具来实现对Excel和Word的操作。本篇将详细讲解如何使用Java进行Excel和Word的处理。 首先,我们关注的标题"Java操作Excel和Word"涉及到两个主要部分:Excel和Word...
标题中的“poi资源包”指的是Apache POI项目,这是一个开源的Java库,专门用于处理Microsoft Office格式的文件,包括Word(.doc, .docx)、Excel(.xls, .xlsx)以及PowerPoint(.ppt, .pptx)等。这个库使得Java...
- **读取Word文档**:使用Apache POI的HSSFWorkbook或XWPFDocument类读取.doc或.docx文件,HWPFDocument用于处理RTF文件。 - **解析内容**:从Word文档中提取文本、段落样式、图片等信息。 - **创建PDF**:使用iText...
在Java编程环境中,导出数据到PDF、Excel和Word格式是一项常见的需求,这通常涉及到文件处理和格式转换。以下是对这个主题的详细说明: 一、PDF(Portable Document Format)文件导出 PDF是一种通用的文件格式,...
JAVA动态生成Word和PDF是JAVA开发中的一种常见需求,这里将详细介绍JAVA动态生成Word和PDF的几种方案。 生成Word 1. Jacob方案:Jacob是Java-COM Bridge的缩写,在Java与微软的COM组件之间构建了一座桥梁。使用...