繁体   English   中英

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

[英]How to convert .doc or .docx files to .txt

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

java DocConvert somedocfile.doc converted.txt

谢谢。

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

我为什么要使用Apache POI?

Apache POI api的主要用途是用于文本提取应用程序,例如Web蜘蛛,索引构建器和内容管理系统。


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


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

使用命令行实用程序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 文本提取中提取文本的工具。 如果您只想提取文本,可以使用下面的代码。 如果要提取富文本(例如格式和样式),可以使用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();

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

摘自网站

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM