我正在尝试使用NodeJS和exiftool从JPG映像中获取标记元数据。这是我第一次使用NodeJS。这就是我尝试过的:我为windows安装了NodeJS。我有一个名为t.jpg的映像,在同一个目录中,我有一个名为run.js的js文件。
这是run.js文件
var exif = require('exiftool');
var fs = require('fs');
fs.readFile('t.jpg', function (err, data) {
if (err) {
console.log(err);
原谅一个新手的问题,我到处找过,但没有发现类似的情况。
我试图创建一个自动过程,在其中我可以添加关键字到jpg图像。
我使用Hazel来监视我的Mac上的一个文件夹,当它找到一个文件时,它会调用Automator工作流脚本。因此,脚本已经接收到一个参数(文件名和路径)
shell脚本执行以下操作(使用pass : as参数) (shell: /bin/bash)
for f in "$@"
do
exiftool -keywords=myKeyWord "$1"
exiftool -delete_original! "$1"
do
我想从PDF中读取元信息使用Perl模块。我需要使用交叉引用流处理PDF (从PDF 1.5开始),而其他成熟的模块,如PDF::API2和CAM::PDF似乎不支持它们或支持有限。
无论如何,图像::ExifTool显然读取了一些,但如果我运行以下代码:
use Image::ExifTool qw(:Public);
my $file = 'file.pdf';
my $exifTool = new Image::ExifTool;
$exifTool->ExtractInfo($file);
my @tagList = $exifTool->GetFoundT
我几乎没有Perl的经验。
我需要读入一个二进制图像并将其传递给Image::ExifTool模块。
下面是我的代码:
use Image::ExifTool;
my $exifTool = new Image::ExifTool;
open(IMAGE, $file) || die "Can't Open $file\n";
binmode(IMAGE);
my ($buf, $data, $n);
while (($n = read FILE, $data, 4) != 0) {
$buf .= $data;
}
#'.=' is co
我试图在bash循环中用exiftool编写和覆盖jpg元数据,但是一个特定的命令不能在循环中工作。我想用data原始数据覆盖gpstime戳记,如果在命令行上执行,但在脚本中不起作用。
for f in $(ls *.jpg); do
[... stuff that works]
exiftool "-gpstimestamp<datetimeoriginal" $f
done
知道为什么这在循环中不起作用吗?
我有一个脚本,它使用exiftool12.57在Ubuntu22.04上的子文件夹中处理图像:
#!/bin/bash
set -e
DIR=/path/to/photos
for f in $(find "${DIR}" -type f -iname "*.jpg" -o -iname "*.jpeg" -o -iname "*.png");
do
echo "processing ${f}..."
exiftool "${f}" >> output.txt
prin
我使用ExifTool的'-tagsFromFile‘将Exif元数据从源映像复制到命令行的目标映像。我想在python脚本中也这样做,这也是我了解PyExifTool的时候。但是,我没有找到任何命令来复制或写入目标图像。我是不是遗漏了什么?我有办法解决这个问题吗?
我找到了user5008949对类似的回答,后者建议这样做:
import exiftool
filename = '/home/radha/src.JPG'
with exiftool.ExifTool() as et:
et.execute("-tagsFromFile", f