【问题标题】:Is it possible to override NSPrintOperation settings after the panel was shown?显示面板后是否可以覆盖 NSPrintOperation 设置?
【发布时间】:2015-07-20 16:16:07
【问题描述】:
当您调用[NSPrintOperation runOperation] 时,打印系统运行打印选项面板,当用户单击确定时,进行打印。
有没有办法在面板运行之后但在实际打印发生之前修改用户选择的一些设置(在NSPrintInfo 对象中)?我想覆盖一些设置。
我知道您可以完全取消面板,但我对“拦截”打印设置的方法感兴趣。
【问题讨论】:
标签:
objective-c
macos
printing
nsprintoperation
【解决方案1】:
实际上,这很容易 - 我不知道为什么我首先遇到了这么多问题。
您可以访问[NSPrintOperation printInfo] 和子printSettings 字典中的所有打印作业选项。这些选项有时有点隐藏,但它们都在那里(副本、双面打印、使用哪个托盘等)。甚至是特定于型号的设置(例如控制 Xerox 打印机的订书机单元)。
当您手动启动作业并选择不同的选项时,检查不同的值会有所帮助。