根据NSPrintPanel上显示的打印机动态更改纸张大小

时间:2014-01-29 21:29:39

标签: cocoa printing nsprintoperation nsprintinfo

我们正在尝试修改NSPrintPanel的默认选定纸张尺寸。使用NSNotification,我们能够在NSPrintPanel中观察并实现对accessoryViews的更改。但是,当我们尝试实现setPaperSize(NSPrintInfo实例方法)时,没有任何反应,并且为所有其他打印机选择了默认打印机的初始纸张尺寸(默认)(我们有常规打印机和收据打印机)。

我知道无论何时打印机发生变化,设置的新纸张尺寸都是正确的。我们以编程方式从Core Print中获取纸张尺寸。在尝试设置正确/期望的paperSize时,应用程序不会中断或返回任何堆栈。所以看来苹果似乎不支持改变纸张尺寸PrintPanel。

在研究这个问题时,我们注意到苹果的NSPrintPanel附件视图“Paper Handling”似乎根据您提供给页面设置的设置(在文件菜单中,NSPageLayout)响应打印机更改。所以我们的问题是:

  1. 有没有办法以编程方式访问/设置此附件中显示的建议纸张尺寸?

  2. 我知道这个accessoryView从页面设置中读取(NSPageLayout),因此我想知道是否在“Paper Handling”附件中访问set这些值是一个很好的方法吗?

  3. 注意: - Mac似乎不允许/提供用户友好的方式为每台安装的打印机设置默认纸张尺寸。

    我们正在讨论的附件视图: Accessory View that we not able to modify

    我们已经审核过苹果文档(当然)以及其他有类似问题的人发帖,但没有用。我们非常感谢推动正确的方向。提前谢谢。

1 个答案:

答案 0 :(得分:0)

我已经有一段时间了,但是当你在NSPrintPanel的printInfo上设置它时会发生什么?好点?它可能会自己制作临时副本。