如何将文档发送到 MacOS 上的系统打印对话框?

How can I send a document to the system print dialog on MacOS?

我想知道是否有办法使用 Mac 上的系统打印对话框来打印 PDF 文档。

到目前为止,我所看到的所有内容都涉及使用 lpr 或仅在 Windows 上有效。

特别是,一旦出现对话框,我想更改打印选项,甚至可能选择打印机特定的“装订”选项(在 Xerox WorkCentre 上)。

可能有更好的方法,但这可能会让您入门:

#!/bin/bash

# Open PDF in Preview app
open FileToPrint.pdf

# Tell Preview to print it
osascript<<EOF
tell application "System Events"
   tell process "Preview"
      delay 1
      keystroke "p" using command down
      --delay 1
      --keystroke return
      --delay 10
      --keystroke "w" using command down
  end tell
end tell
EOF

-- 开头的行是注释,因此请删除 -- 以实际继续并打印文档,而无需进一步交互。

如果 open 命令没有在 Preview 中打开,您可以使用以下命令强制打开:

open -a Preview FileToPrint.pdf