下表列出支持的文件格式的嵌入元数据功能。
文件格式 |
元数据访问 |
XMP 数据包处理 |
EXIF & IPTC 同步。 |
图像数据同步。 |
|---|---|---|---|---|
JPEG、TIFF |
读写 (*) |
智能读写 (*) |
读写 (*) |
读取 |
Photoshop |
读写 (*) |
智能读写 (*) |
读写 (*) |
无 |
PNG |
读写 (*) |
智能读写 (*) |
无 |
读取 |
读写 (*) |
智能读写 (*) |
无 |
无 |
|
InDesign,PostScript |
只读 |
智能只读 |
无 |
无 |
其他格式 |
只读 |
通用只读 |
无 |
无 |
(*) 仅在使用脚本时允许写入访问
可通过以下两种不同方式定位嵌入文件的 XMP 数据包:
扫描整个文件,获取数据包头与包尾的自动标识:此操作适用于任意文件格式,但如复合文档中包含多个数据包,数据包可能定位错误。
解释文件格式结构,追踪数据包:确保正确快速地定位数据包,但各种文件格式需要一种指定的算法。
如表中所示,Switch 基于文件格式为内嵌 XMP 数据包提供三个等级的支持:
智能读写:解释文件格式,实现读取、更新和插入 XMP 数据包。
智能只读:使用通用数据包定位合适的文档级 XMP 数据包,不支持改变。
通用只读:使用通用数据包扫描定位文件中的某一 XMP 数据包,不支持变更。
如表所示,对于部分文件格式,Switch 在二进制EXIF 和 IPTC标签与 XMP 属性间实行双向同步,与 Adobe Creative Suite 应用程序的行为类似。
对于支持的文件格式,当为嵌入数据集创建工作时,Switch 执行以下步骤:
定位主要嵌入 XMP 数据包并解析为一个 XMP 对象模型。若没有 XMP 数据包,使用空 XMP 对象模型。
读取正确的二进制EXIF 和 IPTC标签。如存在,将值作为等效的 XMP 属性合并到 XMP 对象模型。
允许访问最终统一的 XMP 对象模型。
对于支持的文件格式,当保存可写的嵌入数据集更改时,Switch 执行以下步骤:
相比原始 XMP 数据包,如数据集发生任何变更,保存完整的统一 XMP 信息至更新后的或插入的 XMP 数据包。
如一个或多个"用户可编辑"的同步属性发生变更,更新或插入对应的二进制EXIF 或 IPTC标签。反映图像(因此不应允许用户编辑)特性的属性不在二进制标签中更新。
如表所示,对于部分文件格式,Switch 从图像数据中检索图像基本信息并将该信息写入 XMP 数据包适当字段。确保此类文件格式中始终存在以下字段:
变量名称 |
XMP 位置路径 |
|---|---|
Image.ColorMode |
photoshop:ColorMode |
Image.ICCProfile |
photoshop:ICCProfile |
Image.SamplesPerPixel |
tiff:SamplesPerPixel |
Photo.ColorSpace |
exif:ColorSpace |
Photo.PixelXDimension |
exif:PixelXDimension |
Photo.PixelYDimension |
exif:PixelYDimension |
嵌入数据集的备份文件取决于下列因素:
如工作为单个文件,用作备份文件。
否则,如一个工作文件夹下包含单个 Adobe InDesign 文件(即位于顶层),则将该 InDesign 文件用作备份文件。
否则,使用该工作文件夹路径备份文件,并返回空的只读数据集。