Applescript:打印第一页或其他特定页面

时间:2014-11-27 06:12:25

标签: printing applescript osx-mavericks sandbox

如何指示应用程序或打印机只打印文件的第一页,页面范围或奇数页或偶数页?我在预览应用程序的帮助下尝试了这个,看起来很有希望:

set theFile to "[file-path/file]""
tell application "Preview"
activate
print theFile with properties {target printer:"Printer", ending page:1} without «class pdlg»
--these properties isn't available for the printer app, here just limiting amount of printed pages
quit
end tell

但是有了这个,我被沙盒进程所困扰,它告诉我无法打开文件进行打印,并在日志中得到deny file-read-data结果。

adamh 的CUPS建议中,我遇到了与变音符号有关的问题,并且还有其他执行问题,也可能是因为沙盒规则。代码可以从命令行运行,但不能以自动方式调用。

我试着在参考文献中查找打印命令的有用示例,在我的书中尝试搜索在线Apple参考文献,但我似乎无法找到适合当前情况的沙箱的许多示例,如果有的话。

1 个答案:

答案 0 :(得分:2)

您可以通过命令行工具lp& lpr。 这些与CUPS,通用Unix打印系统

进行对话

目标页面/范围:

lp -o page-ranges=2-4 "my_great_document.pdf"

要从AppleScript中调用它,请使用do shell script

e.g,

do shell script "lp -o page-ranges=2-4 'my_great_document.pdf'"

有关更多提示,请参阅:http://www.cups.org/documentation.php/options.html