使用带有applescript的qlmanage生成缩略图

时间:2012-10-19 07:12:31

标签: applescript posix quicklook

该资源的长期用户,第一次提问。我正在尝试编写一个简短的Applescript,它允许我选择一个.svg文件,并使用quicklook(qlmanage)函数生成一个快速而肮脏的.png转换。我希望它非常灵活,因此安装ImageMagick不是一种选择。这是代码:

set thefile to POSIX path of (choose file)
do shell script "qlmanage -t -s 640 -o " & thefile as text

非常简单,但根本不起作用(这会给我一个Applescript错误,弹出qlmanage帮助对话框)。我尝试了一些变化,我觉得我需要在-o之后的第一个参数和第二个参数中的PATH中声明FOLDER。但我一直无法做到这一点。请记住,我是新手。

2 个答案:

答案 0 :(得分:0)

查看qlmanage的手册页显示没有“-o”选项。唯一的输出选项是打开的调试窗口。我不认为有可能获得png输出。但是,我编写了一个名为qlpreview的命令行工具来完成此任务。找到它here以及显示如何使用它的AppleScript代码。

答案 1 :(得分:0)

您需要告诉命令输出文件的位置。即什么目录。将路径放在-o选项后的目录中。

由于您放置-o选项的位置,您的脚本实际上缺少源文件的路径。在-o选项之前。

处理do shell脚本时。您应该记得使用 quoted form of

这将转义文件/路径名中的空格。 unix命令中的空格将被解释​​为命令的一部分。即命令中一个参数的结束和下一个参数的开始。 你有一个文件/路径,其中有一个空格,如 photo copy.jpg ;照片将被视为文件/路径,copy.jpg将被视为命令的下一部分。 “ photo copy.jpg ”周围的单引号可以解决这个问题。

试试这个。

    set file_Path to POSIX path of (choose file)
set save_path to POSIX path of (choose folder)
do shell script ("/usr/bin/qlmanage -t -s640 " & quoted form of file_Path & space & " -o " & quoted form of save_path)

还是@ regulus6633。如果您使用-h选项(显示大量帮助。),您将看到有关输出到文件的部分