这个问题断断续续地困扰了我大约一年,我想也许其他人会有类似情况的经历。
目标:在 Mac OS X 10.6-7 上,NSViews
使用定义的分辨率和“高速”设置打印多台 EPSON Stylus Pro 4880 打印机,而不显示打印面板。
当前情况:NSPrintOperations
我可以为每个创建成功NSView
,但是如果我不显示打印面板,则似乎使用了打印机的默认分辨率,这对于我的需要来说太高而且太慢了。
迄今为止我拥有的最佳解决方案:我尝试显示打印面板并定义一个 Mac OS 的“预设”,它已经启用了正确的打印分辨率和高速设置。这里的缺点是 Mac 预设会覆盖我通过 设置的副本数量NSCopies
,这是一个问题。另一个困难当然是有人总是在身边每天按几千次“确定”按钮。
我在哪里
当
NSPrintOperation
运行它的面板时,它必须在某处设置 EPSON 特定的打印机设置,但我找不到它的保存位置。它们似乎没有设置在[NSPrintInfo printSettings]
.我查看了打印机的 PPD,但我在任何地方都找不到高速设置,并且 PPD 中定义的默认分辨率实际上并未用作打印时的默认值。看来 EPSON 有自己的驱动程序设置,这些设置不是从我拥有的 PPD 中获取的,我不知道如何手动设置它们。
基本上,
NSPrintOperation
使用打印面板和预设运行会覆盖所有设置,包括我不想覆盖的设置。在没有打印面板的情况下运行它会将所有设置保留为默认设置,这不是我想要的。谁能指出我在这两者之间找到解决方案的正确方向?