在 Node.js 中的元數據管理

管理元數據是文件自動化的重要部分,特別是對於處理不同文件格式的應用程序。在本文中,我們將探討如何在 Node.js 應用程序中管理元數據,重點是提取、修改和刪除元數據。

在本指南中,我們將探索以下部分:

  1. GroupDocs.Metadata 是什麼,它如何幫助?
  2. 如何安裝
  3. 快速入門指南
  4. 關鍵特徵
  5. 常見用例
  6. 開始免費試用
  7. See Also

What is GroupDocs.Metadata and how it helps?

GroupDocs.Metadata for Node.js 是一個幫助開發者在 Node.js 應用程序中管理各種文檔格式元數據的庫。

雖然有本地方法允許 Node.js 開發人員提取基本元數據,如文件大小、類型和屬性,但這些方法並不涵蓋與特定文件格式相關的更複雜的元數據。

GroupDocs.Metadata 填補了這一空白,允許用戶從各種文件(例如 PDF、Microsoft Office 格式、圖像、音頻、視頻等)中檢索、更新和移除元數據。它還使訪問詳細信息成為可能,例如作者、標題、文件格式的特定屬性,包括 GPS 位置數據等。通過簡單明了的 API,GroupDocs.Metadata 使您能有效地操作元數據,以覆蓋多種文檔自動化和數據處理場景。

如何安裝

GroupDocs.Metadata for Node.js via Java is hosted at NPM. You can easily reference our API in your Node.js project by installing it with the following command:

npm install @groupdocs/groupdocs.metadata

快速入門指南

使用我們的範例項目,快速簡單地開始使用 GroupDocs.Metadata for Node.js。 以下是一個簡單的指導來幫助你設置:

  1. 克隆倉庫:將示例倉庫克隆到您的本地機器。

    git clone https://github.com/groupdocs-metadata/GroupDocs.Metadata-for-Node.js-via-Java.git
    
  2. 導航到範例資料夾:

    cd ./GroupDocs.Metadata-for-Node.js-via-Java/
    
  3. 安裝必要的套件:

    npm install   
    
  4. 運行示例:

    node runExamples.js 
    

這將執行一系列示例腳本,以演示 GroupDocs.Metadata 庫的各種功能。

主要特點

GroupDocs.Metadata for Node.js 配備了一系列功能,使其成為處理文檔元數據的開發人員有用的 API。以下是一些主要特點:

  • 豐富的元數據管理功能:從各種文檔格式中讀取、更新和刪除元數據。
  • 目標物件操作:搜索、更新和刪除符合特定標準的特定元數據屬性。
  • 統一物業管理:以一致的方式利用標籤來輕鬆操作常見的元數據屬性。
  • 支持密碼保護文件:處理安全的文件,即使面對敏感數據也能確保靈活性。
  • 對於文檔屬性的洞察:提取有關隱藏頁面、數字簽名、用戶評論、修訂等的詳細信息。
  • 與流行標準的相容性:與如 IPTC、XMP、EXIF 和影像資源等主要元數據標準協作。
  • 多媒體元數據處理:操控各種格式中的本地元數據屬性,並從多媒體文件中提取技術信息。
  • 文件統計計算:計算您的文件的常見統計信息,如字數和字元數。
  • 文件格式檢測:根據文件的內部結構識別其格式和 MIME 類型。
  • 支持音頻標籤:管理各種音頻標籤,包括 ID3、歌詞和 APE。

常見使用案例

以下是 Node.js 應用程式中 GroupDocs.Metadata 的一些常見用例,以及相應的代碼片段。

用例 1:從圖像中檢索元數據

在這個例子中,我們將根據特定標準獲取圖像文件的元數據屬性(例如, image.png)。

  1. 初始化元資料物件:使用您的檔案建立 Metadata 類別的新實例。
  2. 定義搜索條件:使用搜索規範來查找特定屬性,例如「寬度」或「高度」。
  3. 擷取和顯示元數據:檢索匹配的屬性並記錄它們的名稱和值。
const groupdocsMetadata = require('@groupdocs/groupdocs.metadata');

try {
    // Initialize the Metadata object with the image file
    const metadata = new groupdocsMetadata.Metadata("image.png");

    // Fetch properties based on name criteria: Width or Height
    var searchSpecification = new groupdocsMetadata.WithNameSpecification("Width")
        .or(new groupdocsMetadata.WithNameSpecification("Height"));
    var metadataProperties = metadata.findProperties(searchSpecification);

    console.log(`Total found properties#: ${metadataProperties.getCount()}`);    

    // Iterate and log all found properties
   for (var i = 0; i < metadataProperties.getCount(); i++) {
        console.log(`Property name: ${metadataProperties.get_Item(i).getName()}, 
        Property value: ${metadataProperties.get_Item(i).getValue()}`);
    }
} catch (error) {
    console.error('An error:', error);
}

用例 2:清理文檔中的元數據

在這裡,我們將從 PDF 文件中清除不需要的元數據。

  1. 載入 PDF:為 PDF 檔案創建一個 Metadata 對象。
  2. 清除元數據:移除檢測到的元數據包。
  3. 保存已清理的文件:将清理过的文件保存到新文件中。
try {
    // Load the PDF file
    const metadata = new groupdocsMetadata.Metadata("input.pdf");

    // Remove detected metadata packages and log the properties removed
    var affected = metadata.sanitize();
    console.log(`Properties removed: ${affected}`);

    // Save the cleaned PDF
    metadata.save("cleaned_output.pdf");
} catch (error) {
    console.error('An error occurred during the sanitization:', error);
}

用例 3:更新文檔元數據

此範例將向您展示如何更新文件的創建和修改日期。

  1. 載入文件:為文件文件初始化元數據對象。
  2. 設置新屬性:更新文檔的創建和修改日期。
  3. 保存更新的文件:保存更改到文件中。
try {
    // Load the VSDX file
    const metadata = new groupdocsMetadata.Metadata("input.vsdx");

    // Set the current date for creation and modification properties
    var affected = metadata.setProperties(
        new groupdocsMetadata.ContainsTagSpecification(
                groupdocsMetadata.Tags.getTime().getCreated())
            .or(new groupdocsMetadata.ContainsTagSpecification(
                groupdocsMetadata.Tags.getTime().getModified())),
        new groupdocsMetadata.PropertyValue(new Date())
    );

    console.log(`Properties set: ${affected}`);

    // Save the updated VSDX
    metadata.save("updated_output.vsdx");
} catch (error) {
    console.error('An error occurred:', error);
}

開始免費試用

默認情況下,該庫在沒有許可證的試用模式下運行,讓您探索該庫的基本功能和特性。 您可以通过 Java 从 GroupDocs Releases page 下载适用于 GroupDocs.Metadata for Node.js。

此外,您可以從 this link 獲取臨時許可證。臨時許可證允許您在不受任何限制的情況下使用該庫,並充分探索其功能。

請參閱

若要深入了解 GroupDocs.Metadata 及其功能,请参考以下资源: