如何使用 GroupDocs.Editor 於 Java 從文件中提取中繼資料

如果你是已經厭倦手動從 Word、Excel 或純文字檔案中提取資訊的開發者,本指南將快速且可靠地示範如何提取中繼資料。你將了解為何 GroupDocs.Editor for Java 是執行 detect document type java 的首選函式庫,如何讀取頁數、作者、加密狀態等屬性,以及如何處理受密碼保護的檔案——全部以簡潔、可直接投入生產的程式碼片段呈現。

快速解答

  • 什麼是 “extract document metadata java” 的意思? 它指的是使用 Java 程式化地讀取文件的屬性,如格式、頁數、大小以及加密狀態。
  • 哪個函式庫可以協助完成此工作? GroupDocs.Editor for Java 提供簡易的 API 用於中繼資料提取與類型偵測。
  • 我可以在流程中偵測 document type java 嗎? 可以——透過檢查回傳的 IDocumentInfo,即可判斷檔案是 Word、試算表或文字文件。
  • 是否需要授權? 免費試用可用於評估;正式使用則需永久授權。
  • 主要前置條件是什麼? Java 8 以上、Maven(或手動下載 JAR)以及基本的 Java 知識。

什麼是 extract document metadata java?

在 Java 中提取文件中繼資料指的是在不載入整個文件內容的情況下,取得描述性的資訊——例如檔案格式、頁數、作者或加密狀態。 這種輕量化方式可加速索引、歸檔與合規檢查,讓你快速分析檔案、降低記憶體使用,並在開啟完整文件前作出明智決策。

為何使用 GroupDocs.Editor for Java 來偵測 document type java?

GroupDocs.Editor 會自動辨識文件類型,並為超過 30 種可編輯格式提供類型專屬屬性,且可在不將完整內容載入記憶體的情況下處理高達 2 GB 的檔案。 它亦內建支援受密碼保護的檔案,使其成為 detect document type java 情境下最有效的解決方案。

前置條件

  • Java Development Kit (JDK) 8 或更新版本。
  • Maven 用於相依管理(或手動下載 JAR)。
  • 具備 Java 類別與例外處理的基本知識。

設定 GroupDocs.Editor for Java

透過 Maven 安裝

將以下儲存庫與相依項目加入你的 pom.xml

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

<dependencies>
   <dependency>
      <groupId>com.groupdocs</groupId>
      <artifactId>groupdocs-editor</artifactId>
      <version>25.3</version>
   </dependency>
</dependencies>

直接下載

或者,從 GroupDocs.Editor for Java releases 下載最新的 JAR。

取得授權

  • Free Trial – 無償探索 API。
  • Temporary License – 透過 this link 取得限時金鑰。
  • Purchase – 購買永久授權以供正式部署使用。

基本初始化與設定

Editor 類別是載入文件並取得其中繼資料的入口點。建立 Editor 實例後,可呼叫 getDocumentInfo(null) 取得輕量資訊。

import com.groupdocs.editor.Editor;

public class DocumentEditorSetup {
    public static void main(String[] args) {
        String filePath = "YOUR_DOCUMENT_DIRECTORY/SAMPLE_DOCX";
        Editor editor = new Editor(filePath);
        // Initialize your document processing workflow here
        editor.dispose();
    }
}

如何在 Java 中提取中繼資料

載入文件,取得其 IDocumentInfo,再轉型為特定格式的資訊類別。此模式適用於 Word、Excel 與純文字檔,同時保持低記憶體使用,因為僅讀取文件標頭。先提取中繼資料後,你即可決定是否處理完整內容、路由檔案,或拒絕不支援的格式。

功能 1:從 Word 文件提取中繼資料

載入文件

DocumentInfo 介面代表任何支援檔案的通用中繼資料。將檔案路徑傳入 Editor 建構子,即可準備文件供檢查。

import com.groupdocs.editor.Editor;
import com.groupdocs.editor.IDocumentInfo;
import com.groupdocs.editor.metadata.WordProcessingDocumentInfo;

String docxInputFilePath = "YOUR_DOCUMENT_DIRECTORY/SAMPLE_DOCX";
Editor editorDocx = new Editor(docxInputFilePath);

提取文件資訊

WordProcessingDocumentInfo 為具體實作,加入 Word 專屬屬性,如頁數、作者與加密狀態。

IDocumentInfo infoDocx = editorDocx.getDocumentInfo(null);
if (infoDocx instanceof WordProcessingDocumentInfo) {
    WordProcessingDocumentInfo casted = (WordProcessingDocumentInfo) infoDocx;
    // Access properties like format, page count, and more
}
editorDocx.dispose();

說明

  • getDocumentInfo(null) 取得中繼資料,且不載入完整文件主體。
  • 轉型為 WordProcessingDocumentInfo 後,即可取得 Word 專屬屬性,如 頁數、作者名稱與加密旗標。

功能 2:偵測 document type java – 試算表

載入試算表檔案

SpreadsheetDocumentInfo 提供試算表專屬的中繼資料,如工作表數量與總大小。

import com.groupdocs.editor.Editor;
import com.groupdocs.editor.IDocumentInfo;
import com.groupdocs.editor.metadata.SpreadsheetDocumentInfo;

String xlsxInputFilePath = "YOUR_DOCUMENT_DIRECTORY/SAMPLE_XLSX";
Editor editorXlsx = new Editor(xlsxInputFilePath);

檢查並提取資訊

使用 instanceof 運算子即可 detect document type java,並讀取試算表專屬的中繼資料,如工作表數量與總大小。

IDocumentInfo infoXlsx = editorXlsx.getDocumentInfo(null);
if (infoXlsx instanceof SpreadsheetDocumentInfo) {
    SpreadsheetDocumentInfo casted = (SpreadsheetDocumentInfo) infoXlsx;
    // Retrieve properties like tab count, size, etc.
}
editorXlsx.dispose();

說明

  • instanceof 檢查可告知檔案是否為試算表,從而呼叫 getSheetCount() 及其他僅限試算表的方法。

功能 3:處理受密碼保護的文件

載入受保護的文件

Editor 建構子接受可選的 LoadOptions 物件,允許你提供密碼。

import com.groupdocs.editor.Editor;
import com.groupdocs.editor.IDocumentInfo;
import com.groupdocs.editor.PasswordRequiredException;
import com.groupdocs.editor.IncorrectPasswordException;

String xlsInputFilePath = "YOUR_DOCUMENT_DIRECTORY/SAMPLE_XLS_PROTECTED";
Editor editorXls = new Editor(xlsInputFilePath);

嘗試使用密碼存取

若密碼缺失或不正確,API 會拋出 PasswordRequiredExceptionIncorrectPasswordException,讓你可提示使用者或記錄問題。

try {
    IDocumentInfo infoXls = editorXls.getDocumentInfo(null); // Attempt without password
} catch (PasswordRequiredException ex) {
    System.out.println("A password is required to access this document.");
}

try {
    IDocumentInfo infoXls = editorXls.getDocumentInfo("incorrect_password");
} catch (IncorrectPasswordException ex) {
    System.out.println("The provided password is incorrect. Please try again.");
}

IDocumentInfo infoXls = editorXls.getDocumentInfo("excel_password"); // Correct password
if (infoXls instanceof SpreadsheetDocumentInfo) {
    SpreadsheetDocumentInfo casted = (SpreadsheetDocumentInfo) infoXls;
    // Extract document details
}
editorXls.dispose();

說明

  • API 明確的例外讓你能實作優雅的備援邏輯,無需猜測。

功能 4:文字型文件中繼資料提取

載入文字型文件

對於純文字格式(TXT、XML、CSV),TextDocumentInfo 類別會回傳編碼、行數與檔案大小等資訊。

import com.groupdocs.editor.Editor;
import com.groupdocs.editor.IDocumentInfo;
import com.groupdocs.editor.metadata.TextualDocumentInfo;

String xmlInputFilePath = "YOUR_DOCUMENT_DIRECTORY/SAMPLE_XML";
Editor editorXml = new Editor(xmlInputFilePath);

提取並顯示資訊

使用 TextDocumentInfo 的 getter 方法取得索引或驗證所需的輕量屬性。

IDocumentInfo infoXml = editorXml.getDocumentInfo(null);
if (infoXml instanceof TextualDocumentInfo) {
    TextualDocumentInfo casted1 = (TextualDocumentInfo) infoXml;
    // Access encoding, size, etc.
}
editorXml.dispose();

說明

  • 此方式適用於主要需要編碼與檔案大小中繼資料的純文字格式。

實務應用

  • 自動文件歸檔 – 提取中繼資料以標記並儲存檔案於可搜尋的資料庫。
  • 工作流程自動化 – 利用中繼資料將文件路由至正確部門或觸發後續流程。
  • 資料遷移 – 在系統間搬移檔案時保留原始屬性,確保符合法規要求。

效能考量

  • 釋放 Editors – 必須呼叫 dispose() 以釋放原生資源,避免記憶體洩漏。
  • 大型檔案 – 以串流或分塊方式處理;getDocumentInfo(null) 只讀取標頭,即使 2 GB 檔案也能將記憶體使用維持在 50 MB 以下。
  • 效能分析 – 使用 Java 效能分析工具(如 VisualVM)找出處理成千上萬檔案時的瓶頸。

常見問題與疑難排解

症狀可能原因解決方式
PasswordRequiredException 即使檔案未受保護檔案路徑錯誤或檔案損毀確認路徑與檔案完整性
null 回傳中繼資料使用過時的函式庫版本升級至最新的 GroupDocs.Editor 版本
大型 Excel 檔案效能低下將整個檔案載入記憶體使用 getDocumentInfo(null)(僅中繼資料)並以批次方式處理

常見問答

Q: 我可以使用相同的 API 從 PDF 檔案提取中繼資料嗎?
A: GroupDocs.Editor 專注於可編輯格式(DOCX、XLSX 等)。PDF 請使用 GroupDocs.Metadata 或 GroupDocs.Viewer。

Q: 如何在不轉型的情況下偵測文件類型?
A: 呼叫 info.getDocumentType(),它會回傳列舉值(例如 DocumentType.WordProcessingDocumentType.Spreadsheet)。

Q: 能否提取嵌入於 Office 檔案中的自訂屬性?
A: 可以——WordProcessingDocumentInfoSpreadsheetDocumentInfo 提供 getCustomProperties() 等方法。

Q: 每種文件類型需要單獨的授權嗎?
A: 不需要,單一的 GroupDocs.Editor 授權即可涵蓋所有支援的格式。

Q: 需要哪個版本的 Java?
A: Java 8 或以上;較新的 LTS 版本(11、17)亦完全支援。

結論

現在你已擁有使用 GroupDocs.Editor 進行 how to extract metadatadetect document type java 的完整、可投入生產的工作流程。將這些程式碼片段整合至你的業務邏輯,即可自動化歸檔、合規檢查或任何需要文件洞察的情境。


最後更新: 2026-06-16
測試環境: GroupDocs.Editor 25.3 for Java
作者: GroupDocs

相關教學