使用Automator+sips将PDF转JPG并调整大小遇问题求助
解决Automator中PDF转JPG后调整尺寸失败的问题
修复后的完整Shell脚本
将以下代码替换你原来的Automator Shell脚本步骤:
for f in "$@" do # 将PDF转换为JPG jpg_output="${f%.pdf}.jpg" sips -s format jpeg -s formatOptions 100 "$f" --out "$jpg_output" echo "已转换为: $jpg_output" # 调整JPG尺寸为高度200px(宽度按比例自适应) sips -z 200 "$jpg_output" -s formatOptions 100 echo "已调整尺寸: $jpg_output" done
问题分析与修复点
- 错误的破折号类型:你原来的调整大小命令中使用了全角破折号
–,而sips命令要求使用半角破折号-,这会导致命令无法被系统识别。 - 批量匹配路径问题:在Automator的Shell环境中,
*.jpg可能无法正确匹配到刚生成的JPG文件(因为工作目录可能不是PDF所在目录,或者文件路径包含空格/特殊字符),直接针对每个生成的JPG文件单独处理更可靠。 - 整合流程到循环内:将转换和调整尺寸的步骤放在同一个循环中,确保每个PDF转换完成后立即处理对应的JPG,避免遗漏或路径错误。
Automator设置注意事项
- 确保Shell脚本步骤的“传递输入”选项设置为作为参数传递,这样
"$@"才能正确获取到所有选中的PDF文件路径。 - 如果需要固定宽高(而非按比例缩放),可以将
sips -z 200改为sips -z 200 200(格式为-z 高度 宽度)。
内容的提问来源于stack exchange,提问作者detection
相关产品推荐
相关产品推荐

