npm 包 @amokrushin/exiftool-vendored.pl 使用教程

阅读时长 5 分钟读完

如今,随着数码摄影的普及,我们对照片的需求越来越多。而像相机照片这些东西,通常在照片元数据(metadata)中包含了很多需要的信息,例如拍摄时间、地点、相机型号等。常规的图片查看器、编辑器通常都支持查看和修改这些信息,但很多时候我们需要在程序中读取或者修改它们。本篇文章将介绍一款使用 Node.js 操作图片元数据的 npm 包 @amokrushin/exiftool-vendored.pl 的使用方法。

exiftool-vendored.pl 是什么

exiftool-vendored.pl 是 Perl 语言编写的一款用于操作图片元数据的工具,不仅支持常见的图片格式如 JPEG、PNG、TIFF 等,还通常支持 RAW(未经处理的)文件格式,例如 CR2(Canon RAW)和 NEF(Nikon RAW)等。exiftool 同时也是一个命令行工具,用于在控制台中查询和修改图片元数据。但由于它是 Perl 编写,需要在当地安装 Perl 环境,这使得 exiftool 在 node.js 等非 Perl 环境中被调用很困难。

因此,amokrushin 开发了 exiftool-vendored.pl 包,并将它打包为 npm 包,这样我们可以用 JavaScript 或 TypeScript 代码在 node.js 环境中轻松调用 exiftool。

安装 @amokrushin/exiftool-vendored.pl

在使用 exiftool-vendored.pl 包之前,我们需要在项目中安装它。可以使用 npm 命令安装它,命令如下:

安装完成后,我们就可以在 node.js 中使用 @amokrushin/exiftool-vendored.pl 了。

如何使用 exiftool-vendored.pl

对于初次使用 exiftool-vendored.pl 的程序员,可能需要更多的指导。下面,我们将按照官方文档的内容,一步一步地介绍使用方法。

导入 exiftool-vendored.pl

首先,我们需要在文件中导入 @amokrushin/exiftool-vendored.pl:

或者,如果您使用 ES6 中的 Import,您可以这样写:

执行 exiftool 命令

因为 exiftool-vendored.pl 本质上是一个命令行工具,因此我们需要像在终端中一样执行命令。此时,我们可以调用 exiftool.run() 方法来执行 exiftool 命令。以下是使用 exiftool 命令读取单个图片的元数据的示例(假设图片路径为 /path/to/image.jpg):

此代码段使用 exiftool 命令读取 /path/to/image.jpg 图片的元数据,并将元数据打印到控制台中。

添加自定义参数

如同在 terminal 中使用 exiftool 命令时一样,在使用 exiftool-vendored.pl 时,我们可以添加自定义参数。

例如,如果我们想要仅获取图片的时间信息,可以使用以下代码段:

该示例中,我们添加了参数 -DateTimeOriginal,以仅获取图片的时间信息。

传递多个文件

类似 exiftool /path/to/image1.jpg /path/to/image2.jpg 的终端命令,在使用 exiftool-vendored.pl 时,我们也可以将多个文件路径传递给 run() 方法。

例如,如果我们要获取多个图片的时间信息和 GPS 坐标信息,可以使用以下代码段:

-- -------------------- ---- -------
--------
  ---------------------------- ----------------------- -
    --------------------
    ---------------
    ----------------
  --
  ---------------- -- -
    ----------------------
  ---

在此示例中,我们输入了两个文件路径,并传递了参数 -DateTimeOriginal-GPSLatitude-GPSLongitude,以获取这两个文件的元数据信息。

获取 exiftool 版本号

最后,我们也可以获取 exiftool 版本号。为此,可以调用 version() 方法,如下所示:

总结

本篇文章介绍了如何在 node.js 环境下使用 @amokrushin/exiftool-vendored.pl 包读取和修改图片元数据。通过本文所述的方法,您可以方便地获取每张图片的信息,这对于图片管理和定位问题非常有用。无论您是想要批量编辑照片元数据,还是想要在项目中使用图片元数据,exiftool-vendored.pl 它都是你的好帮手。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055a1f81e8991b448d7c18

纠错
反馈