如何在 Java 中使用 GroupDocs.Parser 從 DOCX 提取 HTML

簡介

如果您需要在保留樣式的情況下 extract html from docx 檔案,您來對地方了。無論您是構建基於網頁的編輯器、內容管理流程,或僅僅需要在瀏覽器中顯示豐富的文件內容,提取 HTML 格式的文字都是常見需求。在本教學中,我們將使用 GroupDocs.Parser for Java 完整示範整個過程,向您展示如何 extract html text javaconvert docx html java,以及 read formatted text java,只需幾行程式碼。

您將學習

  • 如何設定 GroupDocs.Parser for Java
  • 逐步從 DOCX 文件提取 HTML
  • HTML 提取發揮作用的實際情境
  • 處理大型檔案的效能技巧

在深入程式碼之前,讓我們確保您已具備所有必要條件。

快速回答

  • 我應該使用哪個函式庫? GroupDocs.Parser for Java (latest version)
  • 我可以從 DOCX 提取 HTML 嗎? Yes – use FormattedTextMode.Html
  • 我需要授權嗎? A free trial works for evaluation; a permanent license is required for production
  • 支援哪個 Java 版本? JDK 8 or higher
  • 對大型檔案是否具備記憶體效能? Yes, use try‑with‑resources and parse in chunks if needed

什麼是 “extract html from docx”?

從 DOCX 檔案提取 HTML 意味著將文件中的富文字元素(標題、表格、粗體/斜體樣式等)轉換為標準的 HTML 標記。這讓您可以直接將內容嵌入網頁或下游的 HTML 工作流程中,而不會失去格式。

為什麼要使用 GroupDocs.Parser for Java?

GroupDocs.Parser 提供高階 API,抽象化了 Office Open XML 格式的複雜性。它支援 parse document html java 多種檔案類型,處理各種邊緣情況,且即使在大型文件上也能提供可靠的效能。

先決條件

  • GroupDocs.Parser for Java ≥ 25.5
  • Maven(或其他建置工具)用於管理相依性
  • JDK 8 或更新版本
  • 如 IntelliJ IDEA 或 Eclipse 等 IDE
  • 基本的 Java 知識

設定 GroupDocs.Parser for Java

Maven 設定

將儲存庫與相依性加入您的 pom.xml

<repositories>
   <repository>
      <id>repository.groupdocs.com</id>
      <name>GroupDocs Repository</name>
      <url>https://releases.groupdocs.com/parser/java/</url>
   </repository>
</repositories>

<dependencies>
   <dependency>
      <groupId>com.groupdocs</groupId>
      <artifactId>groupdocs-parser</artifactId>
      <version>25.5</version>
   </dependency>
</dependencies>

直接下載

或是直接從 GroupDocs.Parser for Java releases 下載最新的 JAR。

授權取得

  • Free Trial: Get a trial key from the GroupDocs portal.
  • Temporary License: Use a temporary license while evaluating – see the instructions at GroupDocs Temporary License Page.
  • Full Purchase: Buy a perpetual license for production use.

Implementation Guide – Extracting HTML‑Formatted Text

概覽

以下步驟示範如何 extract html text java 從 DOCX 檔案提取,並以 HTML 標記保留所有格式。

步驟 1:匯入所需類別

import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.TextReader;
import com.groupdocs.parser.options.FormattedTextOptions;
import com.groupdocs.parser.options.FormattedTextMode;

步驟 2:定義文件路徑

String documentPath = "YOUR_DOCUMENT_DIRECTORY/sample.docx";

步驟 3:初始化 Parser

try (Parser parser = new Parser(documentPath)) {
    // Verify that the document supports formatted text extraction.
    if (!parser.getFeatures().isFormattedText()) {
        System.out.println("Document format doesn't support formatted text extraction");
        return;
    }

步驟 4:提取並讀取 HTML 內容

    try (TextReader reader = parser.getFormattedText(new FormattedTextOptions(FormattedTextMode.Html))) {
        // Output the entire content as HTML.
        System.out.println(reader == null ? "Formatted text extraction isn't supported" : reader.readToEnd());
    } catch (IOException e) {
        e.printStackTrace();
    }
}

關鍵呼叫說明

  • parser.getFeatures().isFormattedText() – checks whether the current file type can return formatted text.
  • new FormattedTextOptions(FormattedTextMode.Html) – tells the parser to output HTML markup.
  • reader.readToEnd() – reads the whole HTML string in one go.

步驟 5:基本初始化範例(可選)

如果您只想驗證 parser 能正確載入,可以執行以下最小範例:

import com.groupdocs.parser.Parser;

public class ParserSetup {
    public static void main(String[] args) {
        // Initialize parser with document path
        try (Parser parser = new Parser("YOUR_DOCUMENT_DIRECTORY/sample.docx")) {
            // Check if formatted text extraction is supported
            if (!parser.getFeatures().isFormattedText()) {
                System.out.println("Document format doesn't support formatted text extraction");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

實務應用

Use Case 1: Web Content Management Systems

將 DOCX 文章轉換為 HTML,以無縫發佈且不遺失標題、清單或表格。

Use Case 2: Data Analysis & Reporting

直接從來源文件產生 HTML 報告,保留粗體或彩色文字等視覺提示。

Use Case 3: Automated Document Processing

批次處理大型文件庫,將每個檔案轉換為 HTML 供搜尋引擎索引。

效能考量

  • Memory Management: Use try‑with‑resources (as shown) to automatically close streams.
  • Chunked Parsing: For very large DOCX files, consider reading sections with getContainerItem() to avoid loading the whole document into memory.
  • Thread Safety: Create a separate Parser instance per thread; the class is not thread‑safe.

常見問題與解決方案

問題原因解決方式
reader == null文件格式不支援格式化文字先將檔案轉換為 DOCX 或 PDF
IOException檔案路徑不正確或權限不足確認路徑並確保應用程式具有讀取權限
大型檔案的記憶體使用量過高一次載入整個文件以較小的容器解析或串流內容

常見問題

Q: 如何檢查文件是否支援格式化文字提取?
A: 呼叫 parser.getFeatures().isFormattedText() – 當可以進行 HTML 提取時會回傳 true

Q: 哪些文件格式支援 HTML 提取?
A: DOCX、PPTX、XLSX、PDF 等多種格式。完整清單請參閱 GroupDocs.Parser 文件。

Q: 我可以只提取 DOCX 檔案的特定區段嗎?
A: 可以 – 使用 parser.getContainerItem() 針對標題、表格或自訂 XML 部分。

Q: 若提取結果為空的 HTML,該怎麼辦?
A: 確認來源檔案確實包含樣式化內容,且使用了正確的 FormattedTextMode.Html 選項。

Q: 如何在處理數百份文件時提升效能?
A: 以平行執行緒進行解析,重複使用同一個 JVM,且每個 parser 實例一次只處理一份文件。

結論

您現在已擁有完整、可投入生產環境的 extract html from docx 使用 GroupDocs.Parser for Java 的指南。依照上述步驟,您可以將 HTML 提取整合至任何基於 Java 的工作流程,無論是網站入口、報表引擎或大量轉換管線。亦可探索影像提取或中繼資料讀取等其他功能,進一步豐富您的應用程式。


最後更新: 2026-01-06
測試版本: GroupDocs.Parser 25.5 (Java)
作者: GroupDocs