首先要说明,过程中出了问题.
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 上无法运行.
分享到:
相关推荐
在Java编程中,Apache POI 提供了丰富的API,使得开发者可以方便地进行读写操作,不仅限于Microsoft Word(.doc 和 .docx)文档,还包括Excel(.xls 和 .xlsx)、PowerPoint(.ppt 和 .pptx)等格式。在这个场景下,...
在处理 Word .doc 文件时,POI 提供了一个名为 HWPF(Horizontally Written Property Set Files)的模块。这个模块使得开发人员能够读取和写入 .doc 文件,而不仅仅是提取文本内容。 `HWPFDocument` 类是 HWPF 模块...
本项目利用Apache POI库处理doc、excel和pdf,以及使用jxl库专门处理Excel文件,提供了一套完整的解决方案。 Apache POI是一个开源的Java库,它允许开发者创建、修改和显示Microsoft Office格式的文件,包括Word(....
在Java编程中,Apache POI库是一个非常实用的工具,它允许开发者读写Microsoft Office格式的文件,如Word(.doc或.docx)、Excel(.xls或.xlsx)和PowerPoint(.ppt或.pptx)。本篇文章将深入探讨如何利用POI库在...
通过使用`HWPFDocument`和`XWPFDocument`类,我们可以轻松地读取和操作DOC和DOCX文件。无论是初学者还是经验丰富的开发人员,都可以通过Java POI库轻松地集成这些功能到自己的Java应用程序中。希望这个简短的教程对...
在解析和创建这些文件时,POI提供了丰富的API,可以访问和操作文档中的文本、样式、表格、图片等元素。 接下来,我们来看如何使用POI解析不同类型的文件: 1. **解析doc和docx文件**: - 对于.doc文件,我们需要...
Apache POI是一个流行的开源库,主要用于处理Microsoft Office格式的文件,包括Word(.doc和.docx)、Excel(.xls和.xlsx)以及PowerPoint(.ppt和.pptx)。在这个场景中,你提到的"POI生成doc文档和docx文档相关jar...
在IT行业中,尤其是在文档处理和自动化生成领域,Apache POI是一个非常重要的库,它允许开发者使用Java来操作Microsoft Office格式的文件,如Word(.doc/.docx)、Excel(.xls/.xlsx)等。本教程将专注于如何使用...
综上所述,使用Apache POI 3.15版本在Android平台上处理.doc文档涉及多个层面的技术,包括库的兼容性、内存管理、文件操作以及自定义工具类的实现。正确理解和运用这些知识点,能够帮助开发者在Android应用中顺利地...
Apache POI是一个流行的Java库,专门用于读取、写入和操作Microsoft Office格式的文件,包括Word(.doc)和Excel(.xls)。 描述中提到,经过一番努力,作者已经完成了这个转换过程,并愿意分享成果。不过,需要...
Apache POI提供了一系列类和方法来读取、写入以及操作这些文件。 首先,确保已经将Apache POI库添加到项目依赖中。在Eclipse这样的开发环境中,可以通过Maven或Gradle来管理依赖。在Maven的`pom.xml`文件中添加以下...
Apache POI是一个流行的Java库,用于读写Microsoft Office格式的文件,如Word(.doc/.docx)、Excel(.xls/.xlsx)等。而`poi-tl`是基于Apache POI的一个扩展库,它提供了更高级的功能,特别是在基于模板生成复杂...
Apache POI 是一个流行的Java库,它允许开发者创建、修改和显示Microsoft Office格式的文件,包括Word(.doc 和 .docx)。本篇文章将详细介绍如何使用POI来读写Word文件,兼容doc与docx版本。 首先,我们需要理解....
除了基本的数据操作,POI还提供了辅助功能,如`HSSFDateUtil`帮助处理日期,`HSSFPrintSetup`用于设置打印选项,`HSSFErrorConstants`提供错误代码的枚举。此外,`HSSFHeader`和`HSSFFooter`可以用来设置工作表的...
Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,如DOC、DOCX、PPT、PPTX、XLS和XLSX。它提供了Java API,使得开发者能够读取、创建、修改这些文件。在本场景中,我们将讨论如何使用POI将...
HSSF提供了一系列API,允许开发者解析和操作DOC文件的内容。 2. **在Android中使用Apache POI:** 由于Android环境不直接支持Java的全套类库,因此在Android上使用Apache POI需要特殊处理。首先,你需要将POI库的...
Apache POI 是一个流行的开源库,它允许开发者使用Java来处理Microsoft Office格式的文件,包括Word(.doc)、Excel(.xls)和PowerPoint(.ppt)。在本篇中,我们将深入探讨如何使用Apache POI读取.doc文件。 ...
在这个"poi操作ppt图表史上最完整示例演示.zip"压缩包中,我们主要关注的是如何使用Apache POI库来操作PowerPoint中的图表,包括圆饼图、柱状图、线性图和面积图。这些图表是数据可视化的重要工具,有助于更好地理解...