[英]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.