作為構建文檔處理應用程序的Java應用程序開發人員,您可能有興趣提供Java應用程序中讀取Word文檔的能力,並以編程方式從這些文檔中提取文本。您可以利用DOCX4J API的功能讀取DOCX文件,並從Java應用程序中提取這些文件。 在本文中,我們將展示如何使用docx4j api來實現我們使用DOCX文件來提取文本的目標。
##如何從Java中的Word文檔中讀取和提取文本? {.wp-block頭} 在開始使用DOCX4J API創建DOCX文件的代碼之前,您必須在開發環境中配置DOCX4J API。如果您尚未安裝和配置DOCX4J API,則可以查看我們的文章如何安裝DOCX4J API。
從Java中的Word文檔提取文本
在此階段,我們假設您已經設置了開發環境,並準備開始使用Docx4J API從Word文檔中提取文本。以下示例代碼可用於此目的。您可以將其直接複製到基於控制台的Java應用程序的主要方法並執行。
// Load document
WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load(new File("FileFormat.docx"));
// Load main document part
MainDocumentPart mainDocumentPart = wordMLPackage.getMainDocumentPart();
// Extract nodes
String textNodesXPath = "//w:t";
List<Object> textNodes= mainDocumentPart.getJAXBNodesViaXPath(textNodesXPath, true);
// Print text
for (Object obj : textNodes) {
Text text = (Text) ((JAXBElement) obj).getValue();
String textValue = text.getValue();
System.out.println(textValue);
}
讓我們看一下該代碼的工作原理。 使用 wordprocesingmlpackage 加載Word文檔,並使用 MainDocumentPart docx4j api類進一步處理。加載文檔後,將從包含實際文檔的MainDocumentPart對象獲得文本節點列表。然後,通過遍歷它,將每個文本節點讀取為 jaxbelement 對象。
結論
使用DOCX4J API,可以輕鬆地使用Java應用程序中的Word文檔。 API可幫助您在Java應用程序中添加文檔處理功能,而無需進入基礎文件格式的內部詳細信息。繼續關注此博客,以獲取更多與DOCX4J API合作的示例。