显示面板后是否可以覆盖 NSPrintOperation 设置?

Is it possible to override NSPrintOperation settings after the panel was shown?

当您调用 [NSPrintOperation runOperation] 时,打印系统 运行 会显示打印选项面板,当用户单击“确定”时,就会开始打印。

有没有办法在面板 运行 之后但在实际打印发生之前修改某些用户选择的设置(在 NSPrintInfo 对象中)?我想覆盖一些设置。

我知道您可以完全抑制面板,但我对 "intercept" 打印设置感兴趣。

实际上,这很容易 - 我不确定为什么一开始我遇到这么多问题。

您可以访问 [NSPrintOperation printInfo]printSettings 子词典中的所有打印作业选项。选项有时有点隐藏,但它们都在那里(副本、双面打印、使用哪个纸盘等)。甚至特定于型号的设置(如控制 Xerox 打印机的订书机单元)。

当您手动启动作业时选择了不同的选项,这有助于检查不同的值。