ExifTool是一个独立于平台的Perl库,另外还有一个命令行应用程序,用于读取,编写和编辑各种文件中的元信息。ExifTool支持许多不同的元数据格式,包括EXIF,Gps,IPTC,XMP,JFIF,GeoTIFF,ICC profile,Photoshop IRB,FlashPix,AFCP和ID3,小编今天分享exiftool生成XMP文件方法来了解一下吧~

[dl]15-7046[/dl]

exiftool使用教程

1.将同名标签从所有信息类型复制到XMP中的首选位置:

(是源文件名和扩展名,是目标文件名)SRC.EXTDST

exiftool -tagsfromfile SRC.EXT DST.xmp

2.将源文件重写为目标XMP文件:

(与上面的效果相同,但是如果输出的XMP文件已经存在,则该命令将以错误退出)

exiftool SRC.EXT -o DST.xmp

3.复制XMP,保留原始位置:

(即,仅将XMP标签复制到目标文件中的相同名称空间)

exiftool -tagsfromfile SRC.EXT -all:all DST.xmp

高级:请注意,-all:all上面-xmp:all仅使用了, 即使只复制XMP标签(因为目标是XMP文件),也可以使用。这是因为-all:all保留族1组(即XMP名称空间),同时-xmp:all会将标签复制到首选XMP名称空间,这对于存在于多个名称空间中的XMP标签可能有所不同。为了获得两全其美的效果,"-all:all

4.将源重写为XMP文件,保留位置:

(与上述效果相同,但是如果XMP文件已经存在,则该命令将失败)

exiftool SRC.EXT -o DST.xmp -all:all

5.使用标准标签名称映射从EXIF和IPTC生成XMP:

(这些.args文件在完整的ExifTool发行版中可用)

exiftool -tagsfromfile SRC.EXT -@ exif2xmp.args -@ iptc2xmp.args DST.xmp

6.将XMP作为块复制到XMP文件:

(写为块是传输未知或不可写的XMP标签的唯一方法)

exiftool -tagsfromfile SRC.EXT -xmp DST.xmp

请注意,这将不会处理JPEG图像中的扩展XMP段(如果存在)。

7.提取XMP作为块并写入输出XMP文件:(与上述效果相同)

exiftool -xmp -b SRC.EXT > DST.xmp

与前面的命令一样,此命令将不会在JPEG图像中复制扩展的XMP片段,但是在这种情况下,-a可以添加该选项以提取扩展的XMP块。但是,结果将是ExifTool可以读取的非标准XMP文件,而其他实用程序则不能。

8.将 XMP提取为扩展名为.xmp的输出文本文件的块:

(与上面的效果相同,但是目标文件名将与源文件相同,并且如果存在XMP文件,则该命令将失败,而先前的命令将覆盖现有文件)

exiftool -xmp -b -w xmp SRC.EXT

此命令的优点是它可以应用于多个源文件或整个目录。

9.将所有XMP标签从XMP Sidecar文件还原到JPG图像中的XMP:

exiftool -tagsfromfile SRC.xmp -all:all DST.jpg

10.将XMP作为一个块从XMP边车文件恢复到JPG图像:

(与上述效果相同,但此命令将复制所有不可写的XMP标签,并且作为块复制时,不会添加XMP规范建议的2 kB填充)

exiftool -tagsfromfile SRC.xmp -xmp DST.jpg

或同等

exiftool "-xmp<=SRC.xmp" DST.jpg

(本文转载自“Mac下载”,原文地址:https://www.macdown.com/news/4303.html,如需转载请标明出处)

exiftool生成XMP文件方法的更多相关文章

  1. 生成.eps文件方法

    生成.eps文件方法 背景: 要写论文了,图像的分辨率是一大痛点 方法一: 两步生成.eps文件 用visio 制作图形,保存为pdf格式: 直接用adobe acrobat 打开pdf,然后保存为. ...

  2. ios项目生成ipa文件方法

    做这些的前提是你配置好了所有的证书,如果还没先去配置证书吧. 1.打开需要生成ipa的ios项目.2.在运行按钮的后面选择ios Device3.点击Product 按钮,选择第五个Archive4. ...

  3. keil_v5生成.bin文件方法

    按ALT+F7,打开如下对话框 如上图,选择 After Build/ Rebuild下的Run#1,输入: C:/keil_v5/ARM/ARMCC/bin/fromelf.exe -bin -o ...

  4. Hibernate初探之一对多映射 及 myeclipse自动生成hibernate文件方法

    实现单向一对多: 1)在one方的实体中添加保存many方的集合 2)在one方的配置文件中添加<one-to-many>配置 实现单向多对一: 1)在many方的实体中添加one方的引用 ...

  5. 调试SQLSERVER (一)生成dump文件的方法

    调试SQLSERVER (一)生成dump文件的方法 调试SQLSERVER (二)使用Windbg调试SQLSERVER的环境设置调试SQLSERVER (三)使用Windbg调试SQLSERVER ...

  6. MDK(KEIL5)如何生成.bin文件 【转】

    最近要做个bin文件,网上找了好多都说的不够清楚,后来找到一篇实测可用,说明清楚的,转过来以便学习用. 参考传送门:https://blog.csdn.net/nx505j/article/detai ...

  7. C语言dll文件的说明以及生成、使用方法

    最近在搞一些小项目,由于要涉及到跟其它语言进行交互,动态链接库变成了不二的选择.为此也查阅了很多资料,将动态链接库的相关知识在此做一个整理. 一.动态链接库概述 动态链接库(Dynamic Link ...

  8. Android NDK 初探,生成so文件以及调用so文件方法

    因为最近业务上涉及安全的问题 然后有一些加密解密的方法和key的存储问题 本来想存储到手机里面,但是网上说一般敏感信息不要存储到手机Sdcard上 而且我这个如果从网络建立通信获取的话,又太耗时,所以 ...

  9. linux下生成core dump文件方法及设置

    linux下生成core dump文件方法及设置    from:http://www.cppblog.com/kongque/archive/2011/03/07/141262.html core ...

随机推荐

  1. Cacti 抓取数据方式 安装spine

    安装好cacti后首先要设置获取数据的方式 Cacti 获取数据的方式有两种,1.监控端的脚本(可以是php, shell, perl 或其他脚本)2.或者 snmp 协议获取. Cacti 会在固定 ...

  2. Oracle中将列查询结果多行逗号拼接成一个大字段

    在11G以下版本中oracle有自带的函数wm_concat可以实现,如: select wm_concat(id) from table where col='1' 但是在12C版本中此函数无法使用 ...

  3. codewars--js--Number of trailing zeros of N!

    问题描述: Write a program that will calculate the number of trailing zeros in a factorial of a given num ...

  4. JS高阶编程技巧--compose函数

    先看代码: let fn1 = function (x) { return x + 10; }; let fn2 = function (x) { return x * 10; }; let fn3 ...

  5. IntelliJ 如何找到项目中 Deprecated 的方法

    在一个项目中,如果我们标记了某些元素为 Deprecated 的话,如何让我们能够快速找到? 简单来说,你可以对项目进行 Code Inspection. 选择 Analyze > Inspec ...

  6. [Docker] 使用docker inspect查看宿主机与容器的共享目录

    docker inspect 容器名,可以查看到容器的元信息,在返回的j'son信息里面有个Mounts字段可以看到挂载目录 "Mounts": [ { "Type&qu ...

  7. ES6 - 基础学习(2): 新的变量声明方式 let 与 const

    ES6)新增加了两个重要的 JavaScript 关键字:let 和 const.以前声明变量时只有一种方式:var,ES6对声明方式进行了扩展,现在可以有三种声明方式了. 1.var:variabl ...

  8. python打包生成可执行文件教程

    python打包生成可执行文件教程 安装环境: 1.打开命令行窗口,输入命令:pip install pyinstaller ,等待下载结束.示例: 2.下载结束后,测试是否成功安装,输入命令:pyi ...

  9. clr via c# 参数和属性

    1,可选参数和命名参数 当给参数指定默认值时,可以在调用的时候省略 有默认值的参数,必须放在所有没有默认值的参数后面,但是 参数数组必须放在最后面,parm 默认值必须时编译时能确定的常量值,对于值类 ...

  10. JAVA 线程池原理

    如果并发的请求数量非常多,但每个线程执行的时间很短,这样就会频繁的创建和销毁线程,如此一来会大大降低系统的效率.这就是线程池的目的了.线程池为线程生命周期的开销和资源不足问题提供了解决方案.通过对多个 ...