我在想如何通過Java將Word .doc/.docx文件轉換爲文本文件。據我所知,有一個選項在那裏我可以做到這一點通過詞本身,但我希望能夠做這樣的事情:如何將.doc或.docx文件轉換爲.txt
java DocConvert somedocfile.doc converted.txt
感謝。
我在想如何通過Java將Word .doc/.docx文件轉換爲文本文件。據我所知,有一個選項在那裏我可以做到這一點通過詞本身,但我希望能夠做這樣的事情:如何將.doc或.docx文件轉換爲.txt
java DocConvert somedocfile.doc converted.txt
感謝。
如果您對處理Word文檔文件的Java庫感興趣,可以查看如Apache POI。來自網站的報價:
爲什麼要使用Apache POI?
主要使用Apache POI API的是 對文本提取應用,如 網絡蜘蛛,指數建設者和 內容管理系統。
附::另一方面,如果你只是在尋找一個轉換工具,Stack Overflow可能不是最合適的地方。
編輯:如果你不希望使用現有的庫,但做的所有努力工作你自己,你會很高興地聽到,微軟已經公佈了所需的文件格式規範。 (Microsoft Open Specification Promise列出了可用的規範,對於任何你感興趣的任何人,只需google。在你的情況下,你需要例如OLE2複合文件格式,Word 97二進制文件格式和Open XML格式。)
你應該考慮使用這個庫。它從網站
的摘錄,你可以閱讀和使用Java編寫MS Excel文件。此外, 您可以使用Java讀取和寫入MS Word和MS PowerPoint文件。 Apache POI是您的Java Excel解決方案(適用於 Excel 97-2008)。我們有完整的API 用於移植其他OOXML和OLE2 格式,並歡迎其他人蔘加 。
Docmosis可以讀取文檔並吐出文本。需要安裝一些基礎設施(如OpenOffice)。 您也可以使用JODConverter。
使用命令行實用程序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中提取文本。如果你只想提取文本,你可以使用下面的代碼。如果你想提取Rich Text(例如格式和樣式),你可以使用Apache Tika。
提取DOC:
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();
噢,對不起,我想建立我談論的效用。 – 2010-04-25 21:01:33