在 Node.js 中的元数据管理

管理元数据是文档自动化的重要组成部分,特别是对于处理不同文档格式的应用程序。在本文中,我们将探讨如何在 Node.js 应用程序中管理元数据,重点是提取、修改和删除元数据。

在本指南中,我们将探索以下几个部分:

  1. 什么是 GroupDocs.Metadata 以及它如何帮助?
  2. 如何安装
  3. 快速入门指南
  4. 关键特性
  5. 常见用例
  6. 开始免费试用
  7. 参见

GroupDocs.Metadata 是什么,它如何提供帮助?

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 文件创建一个元数据对象。
  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 及其功能,请参考以下资源: