我正在使用预览(OS X El Capitan附带)功能将文件格式TIFF格式转换为JPG。我预计导出过程将包含原始注释,但不会发生(它也适用于标记字段)。
生成的JPG文件没有评论
压缩和更改图片格式有效,但不会导出评论或标签等META INFO。
有关如何包含该信息的任何建议或解决方法。我需要转换大约500张图片,因此手动复制/粘贴对我来说不起作用。
答案 0 :(得分:1)
更新了答案
根据您的意见,我认为最好的方法是尝试识别如何/在哪里为每个平台存储评论(Windows vs macOS),然后确定您使用哪种方法想要继续前进。
macOS Finder / Spotlight评论在Windows上不易清晰,因此如果您想要Windows兼容性,则需要对JPEG或EXIF评论进行标准化。
我建议使用exiftool
,homebrew
可以使用brew install exiftool
安装,使用:
exiftool -a image.jpg
然后我建议您尝试从文件中提取注释,以查看它们的存储方式/位置:
image.jpg
会在exiftool -comment image.jpg # extract JPEG comment
exiftool -EXIF:UserComment image.jpg # extract EXIF UserComment
中显示所有代码。您的意见可能在:
如果您在JPEG或EXIF部分中找到您的评论,则只能通过以下内容提取评论:
-s3
添加选项exiftool -comment="FUNKY JPEG COMMENT" image.jpg # set JPEG comment
exiftool -EXIF:UserComment="FUNKY EXIF USER COMMENT" image.jpg # set EXIF UserComment
以禁止上述字段名称以节省必须解析它们。
同样,您可以使用以下内容设置评论:
exiftool -EXIF:UserComment -csv *.jpg
SourceFile,UserComment
a.jpg,FUNKY EXIF:UserComment
b.jpg,b FUNKY EXIF:UserComment
您还可以使用以下内容将EXIF用户评论提取到CSV
$HOME/macOSGetFinderComment "/Users/someone/soneFile.tif"
您还可以应用CSV中的评论。
您还应该能够使用我的主答案中的脚本提取macOS / Spotlight / Finder注释:
cd NEW
原始答案
我建议你使用 ImageMagick 尝试以下内容。
首先,使用Finder或您熟悉的任何其他工具,将照片副本(包括整个目录结构)复制到我们无法破坏现有照片的新位置。所以,假设您复制(不要移动)整个TIF树到HOME目录中名为“NEW”的子目录。
然后启动终端并将目录更改为“NEW”:
mogrify
简易方法
如果所有TIF都在一个或两个目录中,请使用mogrify -format jpg *.tif
:
find NEW -name \*.tif -exec sh -c 'new="${1%.tif}.jpg"; convert "{}" "$new"' _ {} \;
更难的方法
如果TIF文件位于多个目录中,则需要更加努力。在终端内部复制并粘贴此内容:
sh
开始在“NEW”目录中查找名为“* .tif”的文件。当它找到一个时,它会启动一个新的shell(convert
)并传递TIF的文件名。然后通过用“jpg”替换尾随的“tif”并调用 ImageMagick #!/bin/bash
# macOSGetFinderComment
# Pass an absolute path to the file!
file=$1
osascript<<EOF
tell application "Finder" to get comment of item POSIX file "$file"
EOF
进行转换来计算新文件名。
关于Finder / Spotlight评论,这里有一个小脚本来获取文件的Finder评论:
#!/bin/bash
# macOSSetFinderComment
# Pass an absolute path to the file!
file=$1
comm=$2
osascript<<EOF
tell application "Finder" to set comment of item POSIX file "$file" to "$comm"
EOF
这里有一个设置Finder / Spotlight评论:
cd
chmod +x macOS*FinderComment
因此,我会将这两个脚本保存在您的HOME目录中,然后使用以下命令使它们可执行:
#!/bin/bash
shopt -s nullglob
for f in $(pwd)/*.tif; do
comment=$($HOME/macOSGetFinderComment "$f")
new="${f%.tif}.jpg"
echo Setting comment of $new to $comment
$HOME/macOSSetFinderComment "$new" "$comment"
done
然后将此文件保存在$ HOME / CopyComments:
下的HOME目录中chmod +x $HOME/CopyComments
并使用以下命令使其可执行:
cd NEW
$HOME/CopyComments
并运行:
element
答案 1 :(得分:0)
我也在Apple社区发布了这个问题,这是VikingOSX提出的solution。这是一段很大的代码,所以最好从here或直接从提到的Apple Community Link下载。以下是原始帖子中描述的解决方案的说明:
high
,可在以下行中修改:medium
或low
:save this_img as JPEG in outfile_name with compression level medium with icon
限制:源文件夹只能包含一个级别的子文件夹。忽略这一点会导致意外结果。
其他评论
AppleScript/Objective-C
来获取和设置这些标记名称。由于此扩展,脚本现在需要AppleScript 2.4,并且必须在OS 10.10
或更高版本上运行。AppleScript/Objective-C
代码,如果不使用control+command+R
键盘快捷键,脚本无法作为脚本/脚本包以交互方式运行。脚本启动时进行测试,并进行适当的警告。最好将脚本保存为应用程序,以完全避免使用此键盘快捷方式。<强>用法强>
保存script,然后将文件包含复制并粘贴到脚本编辑器中(您可以在文件夹中找到应用程序:名称下的实用程序:脚本编辑器),使用以下格式编译并保存文件:单击应用程序,然后双击它以运行脚本应用程序。
我已经在Mac Air 2010下使用OS El Capitan测试了该脚本,该文件夹包含884个TIFF文件,大小为2.25GB,将它们转换为具有中等压缩级别的JPG文件大约需要18分钟。生成的文件将包含原始等效TIFF文件中的标记和注释。
<强>声明强>
在一个平台(例如Windows或Mac OS)中生成的注释和标签在其他平台中不可视化。在Windows中创建的标记在mac OS中被视为关键字(Comand+i
用于可视化它们),但在Windows中生成的注释在mac OS中不可视化。这是一般的不兼容问题,适用于任何格式的照片(例如TIFF或JPG)。
编辑(用于解决评论的跨平台问题的更新解决方案)
从@MarkSetchell的想法中,我改编了原始脚本,至少解决了从macOS到Windows的跨平台问题,即在Windows平台上可以看到来自macOS的评论。想法是使用EXIF元数据。然后Applescript将调用shell脚本来调用exiftool
:
set uxFilepath to POSIX path of NewIMG
do shell script "/usr/local/bin/exiftool -overwrite_original -EXIF:UserComment=\"" & cmtstr & "\" " & uxFilepath
Windows将EXIF中的UserComment元数据作为常规文件注释进行处理。现在,对于TIF文件的相同评论将在JPG上,并且因为这些评论被复制(复制 - 粘贴)到EXIF元数据中,所以相同的信息将在Windows下可视化。如果Windows / Mac读取它,可以将相同的想法用于其他文件属性。
macOS中的EXIF元数据可以从命令行显示为@MarkSetchell,也可以从Finder:Command+o
(启动预览应用程序),然后Command+i
(启动检查器)。然后点击点击:&#34;更多信息&#34;,然后点击标签EXIF。
对于相反的过程,需要使用相反的脚本,即使用exiftool
将EXIF注释复制到macOS注释中。我已经确认,在这种情况下,Windows评论将显示在标签下:XPComment
。该脚本使用:UserComment
,但它在两个方向上都使用XPComment
作为标签。