`
zhouxianglh
  • 浏览: 268150 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

POI 操作 doc

    博客分类:
  • J2SE
阅读更多

首先要说明,过程中出了问题.

1 文件头.  doc  它比较特殊,它会在开头生成一段文件,具体作用不清楚.这是我们新建完 doc  大小 26 kB 的原因.

2 特殊内容.  doc 属于富文本.它包括表格,图片等内容.

 

这些是相当的麻烦.网上找了很多,但大都很浅.这里只能省浅浅的说一下.

 

http://poi.apache.org/download.html  在这里可以下载到 POI 的jar 包.

这里我只用到两个

poi-scratchpad-3.5-FINAL-20090928.jar

poi-3.5-FINAL-20090928.jar

 

package com.isw2.doc.test;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

import org.apache.poi.hwpf.extractor.WordExtractor;
import org.apache.poi.hwpf.model.io.HWPFOutputStream;

public class TestDoc {
	public static void main(String[] args) {
		readDocPOI("C:/test/test.doc");
		writeDocPOI("C:/test/test.doc", "test doc ,google");
	}

	/**
	 * 仅适合读取纯属 文本 信息
	 * 
	 * @param docPath
	 */
	public static void readDocPOI(String docPath) {
		try {
			InputStream inputStrem = new FileInputStream(docPath);
			WordExtractor extractor = new WordExtractor(inputStrem);
			inputStrem.close();
			System.out.println(extractor.getText());
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	/**
	 * 写入 doc 文件(这里如果文件存在就追加,如果不存在就新建因为没有加文件头,readDocPOI 无法读取)格  
         * 式无法设置
	 * 
	 * @param docPath
	 * @param context
	 */
	public static void writeDocPOI(String docPath, String context) {
		try {
			OutputStream outputStream = new FileOutputStream(docPath, true);
			byte[] byteArr = context.getBytes();
			HWPFOutputStream houtputStream = new HWPFOutputStream();
			houtputStream.write(byteArr, 0, byteArr.length);
			houtputStream.writeTo(outputStream);
			houtputStream.close();
			outputStream.close();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

 

本来是打算写一个程序,把 doc 转换成 pdf 格式.在这里了问题.开始的两个问题没能解决.

 

还有一种方式  jacob 方式.它也可以.效果很好.但它实际上是依赖 Word 的,它会调用 Word.这就意味着电脑上一定要有 Word .而 Linux 上无法运行.

分享到:
评论
1 楼 johnawm 2012-12-25  
写的很好啊

相关推荐

    使用 poi 操作 doc 与 docx 相关读写的jar包

    在Java编程中,Apache POI 提供了丰富的API,使得开发者可以方便地进行读写操作,不仅限于Microsoft Word(.doc 和 .docx)文档,还包括Excel(.xls 和 .xlsx)、PowerPoint(.ppt 和 .pptx)等格式。在这个场景下,...

    java Apache poi 对word doc文件进行读写操作

    在处理 Word .doc 文件时,POI 提供了一个名为 HWPF(Horizontally Written Property Set Files)的模块。这个模块使得开发人员能够读取和写入 .doc 文件,而不仅仅是提取文本内容。 `HWPFDocument` 类是 HWPF 模块...

    Android poi 操作doc excel pdf && Android jxl 操作excel

    本项目利用Apache POI库处理doc、excel和pdf,以及使用jxl库专门处理Excel文件,提供了一套完整的解决方案。 Apache POI是一个开源的Java库,它允许开发者创建、修改和显示Microsoft Office格式的文件,包括Word(....

    java使用poi操作.doc word模板替换,循环插入表格

    在Java编程中,Apache POI库是一个非常实用的工具,它允许开发者读写Microsoft Office格式的文件,如Word(.doc或.docx)、Excel(.xls或.xlsx)和PowerPoint(.ppt或.pptx)。本篇文章将深入探讨如何利用POI库在...

    java poi读doc docx文档

    通过使用`HWPFDocument`和`XWPFDocument`类,我们可以轻松地读取和操作DOC和DOCX文件。无论是初学者还是经验丰富的开发人员,都可以通过Java POI库轻松地集成这些功能到自己的Java应用程序中。希望这个简短的教程对...

    JAVA用poi解析doc、docx、slx、xlsx,保证完整

    在解析和创建这些文件时,POI提供了丰富的API,可以访问和操作文档中的文本、样式、表格、图片等元素。 接下来,我们来看如何使用POI解析不同类型的文件: 1. **解析doc和docx文件**: - 对于.doc文件,我们需要...

    POI生成doc文档和docx文档相关jar包

    Apache POI是一个流行的开源库,主要用于处理Microsoft Office格式的文件,包括Word(.doc和.docx)、Excel(.xls和.xlsx)以及PowerPoint(.ppt和.pptx)。在这个场景中,你提到的"POI生成doc文档和docx文档相关jar...

    poi 动态修改docx窗体域内容,并存为doc格式,节点操作

    在IT行业中,尤其是在文档处理和自动化生成领域,Apache POI是一个非常重要的库,它允许开发者使用Java来操作Microsoft Office格式的文件,如Word(.doc/.docx)、Excel(.xls/.xlsx)等。本教程将专注于如何使用...

    poi-3.15 及Android 打开doc工具类

    综上所述,使用Apache POI 3.15版本在Android平台上处理.doc文档涉及多个层面的技术,包括库的兼容性、内存管理、文件操作以及自定义工具类的实现。正确理解和运用这些知识点,能够帮助开发者在Android应用中顺利地...

    poi3.8 doc,excel转html

    Apache POI是一个流行的Java库,专门用于读取、写入和操作Microsoft Office格式的文件,包括Word(.doc)和Excel(.xls)。 描述中提到,经过一番努力,作者已经完成了这个转换过程,并愿意分享成果。不过,需要...

    使用POI将office(doc/docx/ppt/pptx/xls/xlsx)文件转html格式

    Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,如DOC、DOCX、PPT、PPTX、XLS和XLSX。它提供了Java API,使得开发者能够读取、创建、修改这些文件。在本场景中,我们将讨论如何使用POI将...

    poi-tl实现根据模板生成合同和html转doc,doc转docx的Demo

    Apache POI是一个流行的Java库,用于读写Microsoft Office格式的文件,如Word(.doc/.docx)、Excel(.xls/.xlsx)等。而`poi-tl`是基于Apache POI的一个扩展库,它提供了更高级的功能,特别是在基于模板生成复杂...

    Java实现doc文件转成docx文件

    Apache POI提供了一系列类和方法来读取、写入以及操作这些文件。 首先,确保已经将Apache POI库添加到项目依赖中。在Eclipse这样的开发环境中,可以通过Maven或Gradle来管理依赖。在Maven的`pom.xml`文件中添加以下...

    使用POI读写Word文件(兼容doc与docx版本)

    Apache POI 是一个流行的Java库,它允许开发者创建、修改和显示Microsoft Office格式的文件,包括Word(.doc 和 .docx)。本篇文章将详细介绍如何使用POI来读写Word文件,兼容doc与docx版本。 首先,我们需要理解....

    POI 中文学习文档(.doc)

    除了基本的数据操作,POI还提供了辅助功能,如`HSSFDateUtil`帮助处理日期,`HSSFPrintSetup`用于设置打印选项,`HSSFErrorConstants`提供错误代码的枚举。此外,`HSSFHeader`和`HSSFFooter`可以用来设置工作表的...

    用poi显示doc

    HSSF提供了一系列API,允许开发者解析和操作DOC文件的内容。 2. **在Android中使用Apache POI:** 由于Android环境不直接支持Java的全套类库,因此在Android上使用Apache POI需要特殊处理。首先,你需要将POI库的...

    POI操作WORD 官方测试案例 DEMO.zip

    JAVA操作MS office 工具 POI操作WORD 官方测试案例 DEMO(含jar包,IDEA) 可直接运行测试。 ------------------------------------------------------ 1 什么是Apache POI 全称Apache POI,使用Java编写的免费...

    java 读 doc poi包

    Apache POI 是一个流行的开源库,它允许开发者使用Java来处理Microsoft Office格式的文件,包括Word(.doc)、Excel(.xls)和PowerPoint(.ppt)。在本篇中,我们将深入探讨如何使用Apache POI读取.doc文件。 ...

Global site tag (gtag.js) - Google Analytics