我经常需要裁剪掉 PDF 的上半部分(这是运输标签)并仅将其打印在 A4 纸上,而不是整个标签。
我可以使用 Adobe Acrobat Pro 轻松完成此操作,方法是打开文件,然后转到编辑文本和图像,然后手动删除所有不需要的内容,最后通过 OS X 的系统对话框进行打印。但是,当我有多个文件时,这有点麻烦。
我可以使用 Automator 或任何命令行脚本在 OS X 上以某种方式自动执行此操作吗?
答案1
如果只是为了在 OS X 上偶尔“仅打印上半部分”,那么实际上不需要安装任何东西。
在 Preview.app 中打开 PDF(它很可能是您系统上的默认 PDF 查看器)。
在应用程序菜单中,确保‘工具 -> 矩形选择’活跃。
使用鼠标指针选择要打印(或导出为 PDF)的那一半(或页面的其他部分)。
从应用程序菜单中选择‘文件 -> 从剪贴板新建’(或使用适当的键盘快捷键)。
一个新窗口标题为“未知”打开。它包含您的矩形选择。打印它或导出为 PDF。
打印时,您可以'规模',“规模适配”和/或'自动旋转'随你便吧。
无需保存“未知”文件,如果您不想要的话。
您可能已经注意到,我没有使用 PDF 演示我的方法。因为此方法适用于 Preview.app 可以打开和显示的任何文件。当然,它也适用于 PDF。我知道您要求用某种自动化的方式来完成此操作,但这并不是。但它避免了 Adobe Acrobat Pro 的繁重工作,仅在偶尔手动执行时才需要使用。
答案2
步骤如下:
安装自制. 确保遵循命令行上的所有说明。
使用 安装 ImageMagick
brew install imagemagick
。打开Automator.app,然后创建一个新的打印插件。
拖运行 Shell 脚本从左侧窗格到右侧窗格。
选择传递输入:作为参数并粘贴以下代码:
# Crop off the top half of a PDF and print it CROP_PERCENT=50 # top percent to keep DENSITY=600 # DPI density for PDF reading OUTPUT_SIZE="28x21cm" # Output page size, e.g. 28x21cm is A4 TMP_OUTPUT="/tmp/cropped.png" # Output tmp file convert -density "$DENSITY" "$1" -crop 100x${CROP_PERCENT}%+0+0 -gravity North -extent "$OUTPUT_SIZE" "$TMP_OUTPUT" echo "$TMP_OUTPUT"
拖打印查找器项目从左侧窗格到右侧窗格。
它看起来应该是这样的:
以您想要的任何名称保存,例如打印上半部分,现在您可以从任何打印对话框访问它:
答案3
其实你不必担心内容。你只需要裁剪页面。
另一种可能性是创建与 A5 横向相对应的自定义纸张格式(可能是包装标签所涉及内容)。
您可以在打印机驱动程序对话框中执行此操作,只需忽略 Acrobat 的投诉,您将离开 Acrobat 打印对话框并最终进入打印机对话框。在那里,您可以创建新格式并保存;或者,如果您已经有了它,请选择它。确认,然后您将返回 Acrobat 打印对话框。在那里停用自动旋转和居中,并且这个新的页面大小将处于活动状态。在小预览缩略图中验证它是否正确。如果正确,您可以打印。
Acrobat 打印对话框中的设置是持久的,这意味着下次使用对话框时它们会被记住。
当然,您现在可以使用操作向导来组装操作。
您可能还查看 printParams(Acrobat)JavaScript 对象,看它是否足以满足您的需求;如果是这样,您可以创建一个带有菜单项的应用程序级 JavaScript,并在需要时运行它。
最后,您还可以使用 AppleScript 和系统事件来完全控制 Acrobat 打印对话框和打印机的打印对话框。然后可以将此 Applescript 制作成 Droplet。
所以,有很多选择,所有选择都可以通过机载方式实现。