如何将.doc或.docx文件转换为.txt文件

时间:2010-04-25 20:55:30

标签: java ms-word

我想知道如何通过Java将Word .doc / .docx文件转换为文本文件。我知道有一个选项,我可以通过Word本身做到这一点,但我希望能够做到这样的事情:

java DocConvert somedocfile.doc converted.txt

感谢。

4 个答案:

答案 0 :(得分:7)

如果您对处理Word文档文件的Java库感兴趣,可能需要查看例如: Apache POI。来自网站的引用:

  

我为什么要使用Apache POI?

     

Apache POI api的一个主要用途是   用于文本提取应用程序   作为网络蜘蛛,索引建设者和   内容管理系统。


PS :另一方面,如果您只是在寻找转换实用程序,Stack Overflow可能不是最合适的地方。


编辑:如果您不想使用现有的库,而是自己完成所有艰苦的工作,您会很高兴听到Microsoft已发布所需的文件格式规范。 (Microsoft Open Specification Promise列出了可用的规范。只需谷歌搜索您感兴趣的任何一个。在您的情况下,您需要例如OLE2复合文件格式,Word 97二进制文件格式和Open XML格式。)

答案 1 :(得分:4)

使用命令行实用程序Apache Tika。 Tika支持多种格式(例如:doc,docx,pdf,html,rtf ......)

java -jar tika-app-1.3.jar -t somedocfile.doc > converted.txt

<强>编程方式:

File inputFile = ...;
Tika tika = new Tika();
String extractedText = tika.parseToString(inputFile);

您也可以使用 Apache POI 。他们有一个从doc / docx Text Extraction中提取文本的工具。如果您只想提取文本,可以使用下面的代码。如果要提取富文本(例如格式和样式),可以使用Apache Tika。

提取文档

InputStream fis = new FileInputStream(...);
POITextExtractor extractor;
// if docx
if (fileName.toLowerCase().endsWith(".docx")) {
    XWPFDocument doc = new XWPFDocument(fis);
    extractor = new XWPFWordExtractor(doc);
} else {
    // if doc
    POIFSFileSystem fileSystem = new POIFSFileSystem(fis);
    extractor = ExtractorFactory.createExtractor(fileSystem);
}
String extractedText = extractor.getText();

答案 2 :(得分:1)

您应该考虑使用此库。它的Apache POI

摘自网站

  

简而言之,您可以读写MS   使用Java的Excel文件。此外,   你可以读写MS Word和MS   使用Java的PowerPoint文件。阿帕奇   POI是您的Java Excel解决方案(适用于   Excel 97-2008)。我们有完整的API   用于移植其他OOXML和OLE2   格式并欢迎其他人   参与。

答案 3 :(得分:0)

Docmosis可以阅读文档并吐出文本。需要安装一些基础架构(例如OpenOffice)。 您也可以使用JODConverter