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