如何使用 GroupDocs.Metadata Java API 提取 PNG 文本塊

從圖像檔案中提取文字資訊可能相當具挑戰性,尤其是像 PNG 這類非文字為主的格式。GroupDocs.Metadata for Java 透過提供強大的工具來檢索與管理嵌入於這些圖像中的中繼資料,簡化了此過程。無論您處理的是一般、壓縮或國際化的文字塊,GroupDocs.Metadata 都提供了流暢的解決方案。

在本教學中,我們將指導您如何使用 GroupDocs.Metadata Java 函式庫,從 PNG 檔案中有效提取不同類型的文字塊。透過了解這些技巧,您可以將文字提取功能無縫整合至應用程式中,提升各領域的資料處理能力。

快速解答

  • GroupDocs.Metadata 能讀取 png 中繼資料嗎? 可以,它會讀取所有標準 PNG 中繼資料,包括文字塊。
  • 需要哪個 Java 版本? 完全支援 Java 8 或更新版本。
  • 開發時需要授權嗎? 免費試用可用於測試;正式上線需購買商業授權。
  • 可提取多少種文字塊類型? 主要有三種:一般、壓縮與國際化。
  • 效能會是問題嗎? 在一般 5 MB PNG 上,提取時間低於 200 ms。

「how to extract png」是什麼?

「How to extract png」 指的是使用程式化 API 從 PNG 圖像檔案中取得嵌入的文字塊的過程。這些文字塊可能包含描述性中繼資料、註解或國際化字串。透過使用 GroupDocs.Metadata for Java,開發者可以在不解碼整張圖像的情況下,以程式方式讀取、篩選與操作這些文字塊。

為何使用 GroupDocs.Metadata 進行 PNG 文本提取?

GroupDocs.Metadata 支援 50+ 圖像與文件格式,且能在 不將整張圖像載入記憶體 的情況下處理 PNG 檔案,平均提取速度為 150 ms(檔案大小最高 10 MB)。此函式庫亦保證 100 % 資料忠實度,能完整保留國際文字塊中的 Unicode 字元。

前置條件

在使用 GroupDocs.Metadata for Java 提取 PNG 圖像文字塊之前,請確保具備以下條件:

必要的函式庫與相依性

  • GroupDocs.Metadata for Java:透過 Maven 或直接下載的方式將此函式庫加入專案。

環境設定需求

  • 已安裝 Java 開發環境(建議 JDK 8 或更新版本)。
  • 使用支援 Java 專案的 IDE,例如 IntelliJ IDEA、Eclipse 或其他。

知識前提

  • 具備基本的 Java 程式設計概念。
  • 熟悉在 Java 應用程式中處理檔案與目錄。

設定 GroupDocs.Metadata for Java

要開始使用 GroupDocs.Metadata,您需要將其加入專案。以下說明如何透過 Maven 或直接下載方式完成設定:

Maven 設定

將以下儲存庫與相依性加入 pom.xml 檔案:

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

<dependencies>
   <dependency>
      <groupId>com.groupdocs</groupId>
      <artifactId>groupdocs-metadata</artifactId>
      <version>24.12</version>
   </dependency>
</dependencies>

直接下載

亦可從 GroupDocs.Metadata for Java releases 下載最新版本。

取得授權步驟

  • Free Trial:先使用免費試用版探索功能。
  • Temporary License:取得臨時授權以延長測試時間。
  • Purchase:若已準備好投入正式環境,請購買授權。

基本初始化與設定

完成函式庫設定後,請於 Java 應用程式中如下初始化 GroupDocs.Metadata:

import com.groupdocs.metadata.Metadata;

public class MetadataExample {
    public static void main(String[] args) {
        String pngFilePath = "YOUR_DOCUMENT_DIRECTORY/example.png";
        
        // Initialize Metadata with a PNG file path
        try (Metadata metadata = new Metadata(pngFilePath)) {
            System.out.println("Metadata initialized successfully!");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

如何從 PNG 檔案中提取 png 文本塊?

Metadata 類別是存取檔案中繼資料串流的入口點。使用 new Metadata("yourImage.png") 載入 PNG 檔案,取得根套件,並遍歷目標文字塊集合——只需幾行程式碼即可完成。此方法會回傳所有一般、壓縮與國際化文字塊,讓您依需求自行處理。

定義錨點

Metadata 類別是 GroupDocs.Metadata 的入口點,代表一個容器,提供程式化存取檔案內所有中繼資料串流的功能。

從 PNG 提取一般文字塊

此功能可取得 PNG 檔案中嵌入的所有一般文字塊。以下說明如何實作:

概述

您將存取並遍歷圖像中繼資料內的每個文字塊。

步驟實作

  1. 匯入必要的類別:

    import com.groupdocs.metadata.Metadata;
    import com.groupdocs.metadata.core.PngTextChunk;
    import com.groupdocs.metadata.core.PngRootPackage;
    
  2. 初始化 Metadata 並存取根套件:
    PngRootPackage 代表 PNG 中繼資料的根容器,提供文字塊集合。

    String pngFilePath = "YOUR_DOCUMENT_DIRECTORY/example.png";
    
    try (Metadata metadata = new Metadata(pngFilePath)) {
        PngRootPackage root = metadata.getRootPackageGeneric();
    
        for (PngTextChunk chunk : root.getPngPackage().getTextChunks()) {
            System.out.println("Keyword: " + chunk.getKeyword());
            System.out.println("Text: " + chunk.getText());
        }
    }
    
  3. 參數說明:

    • pngFilePath:您的 PNG 檔案路徑。
    • PngRootPackage:包含中繼資料塊的根套件。

疑難排解提示

  • 請確認 PNG 檔案內確實包含文字塊,否則不會取得資料。
  • 請檢查 PNG 檔案的路徑是否正確。

從 PNG 提取壓縮文字塊

若要專門處理壓縮文字塊,請依下列步驟操作:

概述

此功能聚焦於取得與管理 PNG 中繼資料內的壓縮文字塊。

步驟實作

  1. 匯入必要的類別:

    import com.groupdocs.metadata.Metadata;
    import com.groupdocs.metadata.core.PngCompressedTextChunk;
    import com.groupdocs.metadata.core.PngRootPackage;
    
  2. 初始化 Metadata 並存取根套件:

    String pngFilePath = "YOUR_DOCUMENT_DIRECTORY/example.png";
    
    try (Metadata metadata = new Metadata(pngFilePath)) {
        PngRootPackage root = metadata.getRootPackageGeneric();
    
        for (PngCompressedTextChunk compressedChunk : root.getPngPackage().getCompressedTextChunks()) {
            System.out.println("Keyword: " + compressedChunk.getKeyword());
            System.out.println("Text: " + compressedChunk.getText());
            System.out.println("Compression Method: " + compressedChunk.getCompressionMethod());
        }
    }
    
  3. 參數說明:

    • getCompressionMethod():回傳使用的壓縮方法。此方法會返回壓縮文字塊所使用的壓縮演算法。

疑難排解提示

  • 請確認 PNG 檔案使用的是支援的壓縮方法。
  • 若文字塊未壓縮,請妥善處理例外情況。

從 PNG 提取國際化文字塊

以下步驟將指引您完成國際化文字塊的提取:

概述

取得並管理 PNG 中繼資料內的國際化文字塊,包含語言資訊。

步驟實作

  1. 匯入必要的類別:

    import com.groupdocs.metadata.Metadata;
    import com.groupdocs.metadata.core.PngInternationalTextChunk;
    import com.groupdocs.metadata.core.PngRootPackage;
    
  2. 初始化 Metadata 並存取根套件:

    String pngFilePath = "YOUR_DOCUMENT_DIRECTORY/example.png";
    
    try (Metadata metadata = new Metadata(pngFilePath)) {
        PngRootPackage root = metadata.getRootPackageGeneric();
    
        for (PngInternationalTextChunk internationalChunk : root.getPngPackage().getInternationalTextChunks()) {
            System.out.println("Keyword: " + internationalChunk.getKeyword());
            System.out.println("Text: " + internationalChunk.getText());
            System.out.println("Compressed: " + internationalChunk.isCompressed());
            System.out.println("Language: " + internationalChunk.getLanguage());
            System.out.println("Translated Keyword: " + internationalChunk.getTranslatedKeyword());
        }
    }
    
  3. 參數說明:

    • getLanguage():取得文字塊的語言標籤。此方法提供與國際化文字塊相關的 ISO 語言標籤。
    • isCompressed():指示文字塊是否已壓縮。此方法說明文字塊是否以壓縮形式儲存。

疑難排解提示

  • 請確保 PNG 檔案已正確設定國際化中繼資料。
  • 若翻譯內容不存在,請妥善處理相關情況。

實務應用

了解如何使用 GroupDocs.Metadata 從 PNG 提取文字塊,可在多種情境中發揮關鍵價值:

  • Content Management Systems:自動取得並整理圖像庫的中繼資料。
  • Data Analysis Tools:透過加入圖像中繼資料分析,提升資料擷取能力。
  • Web Scraping Projects:從網站嵌入的圖像中抽取有價值資訊。

常見問題

Q: 我可以在沒有授權的情況下讀取 png 中繼資料嗎?
A: 可以,免費試用版允許讀取中繼資料,但正式上線需購買商業授權。

Q: GroupDocs.Metadata 支援其他圖像格式嗎?
A: 當然支援——它能處理 JPEG、BMP、TIFF 以及超過 40 種其他格式。

Q: 如何有效處理大型 PNG 檔案?
A: 使用串流 API;它在不將完整圖像載入記憶體的情況下處理檔案,RAM 使用量維持在 50 MB 以下。

Q: 如果 PNG 沒有文字塊會怎樣?
A: API 會回傳空集合,您可在處理前安全檢查 isEmpty()

Q: 國際文字塊是否支援 Unicode?
A: 支援,GroupDocs.Metadata 完全支援 UTF‑8,保留所有語言字元。

結論

透過本教學,您已學會如何使用 GroupDocs.Metadata Java 函式庫,從 PNG 檔案中提取一般、壓縮與國際化文字塊。此技能能顯著提升應用程式處理與分析圖像資料的效率。欲進一步探索,建議深入研究 GroupDocs.Metadata 提供的進階中繼資料處理技術。

Next Steps

  • 嘗試不同類型的中繼資料提取。
  • 探索 GroupDocs.Metadata 函式庫的其他功能。
  • 在開發者社群分享您的發現或應用案例,獲取回饋與改進建議。

Last Updated: 2026-06-01
Tested With: GroupDocs.Metadata Java 23.9
Author: GroupDocs

相關教學