问题标签 [nsprintoperation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
921 浏览

macos - 我可以使用 Cocoa 的 NSPrintInfo 和 NSPrintOperation 设置 _every_ 自定义打印选项吗?

我试图找出是否可以在不显示系统打印面板的情况下在 Mac OS X 上打印,并且仍然以编程方式设置每个打印选项,甚至是第三方打印机驱动程序的打印选项。

我想使用NSPrintInfo

这可能吗?是否所有 Mac 打印机驱动程序都必须“通过”打印系统,这意味着每个 Mac 打印机驱动程序都必须通过 NSPrintInfo 以编程方式访问它们在驱动程序 UI 中显示的每个选项?

或者第三方打印机驱动程序供应商是否有无法通过 NSPrintInfo 设置的设置?

谢谢!

0 投票
0 回答
482 浏览

objective-c - 显示 NSPrintPanel/NSPrintOperation 后 EDSDK 回调不起作用

我目前正在使用佳能 EDSDK 开发一个应用程序来访问我的 DSLR,它将直接打印拍摄的图像。这里的问题是,在我的应用程序显示 NSPrintPanel 或 NSPrintOperation 之前,我与 EDSDK 接口的代码可以完美运行。如果使用“runModalX”或“beginSheetWith”函数显示其中之一,然后再次退出(取消或确定似乎没有区别),那么 EDSDK 中的回调似乎停止工作。我仍然可以与相机交互,下载实时取景图像,拍摄图像,但依赖回调的动作不再有效。一个示例代码,我如何称呼我的 NSPrintPanel 在这里:

这就是我调用 NSPrintOperation 的方式:

我的想法是,以某种方式显示此面板会与当前应用程序中发送的消息混淆。Xcode 生成的 Cocoa 应用程序模板已经通过“File->Print”菜单为我的应用程序提供了打印功能。如果打印窗口以这种方式显示,它会导致相同的错误,只有当我的应用程序运行时我在我的应用程序外部(例如来自 Safari)显示打印对话框时,它才不会弄乱 EDSDK。

有没有人知道这里的问题可能是什么,甚至如何解决它?

附带说明:如果我使用佳能示例应用程序“相机控制”并添加上述代码,最终会遇到同样的问题:实时取景仍然有效,与相机的任何交互都有效,但不调用回调(因此发送“拍照”命令甚至可以使用快门,但由于相机正在等待计算机下载拍摄的图像,因此之后没有快门释放)。

0 投票
1 回答
1044 浏览

objective-c - 如何使用 NSPrintOperation 添加标题?

我想为我的 Mac OSX 应用程序打印带有页眉和页脚(页码)的 myWebView 的内容。到目前为止,我可以使用以下代码打印 myWebView 的内容(来自此链接Printing multiple pages in Objective-C)。

我已将 PrintTextView 类添加到我的项目中。我一直在阅读 OSX 库文档和 NSPrintOperation 方法,但到目前为止,作为一个新手,我无法弄清楚如何添加页眉和页脚。感谢您的帮助、任何示例代码或指导。

0 投票
1 回答
245 浏览

cocoa - 打印时自动在预览中打开 PDF

我将 jobDisposition 设置为NSPrintPreviewJobin NSPrintInfo,但该值似乎被忽略了。打印操作不是在预览中打开文档,而是像往常一样显示打印面板。

0 投票
1 回答
299 浏览

macos - NSScrollView 打印在 OSX Mavericks 上反转

我有一个 Mac 应用程序,它已经在应用商店上架了几年。这是一个时间跟踪和发票应用程序,可为发票创建 PDF。PDF 是从包含发票信息的应用程序窗口的内容生成的。在 OSX Mavericks 之前,PDF 的打印效果与屏幕上的一样。不幸的是,在 Mavericks 中,我用于表格的 NSScrollView 正在水平反转打印。

PDF 的外观,以及它在 OSX Lion 和 Mountain Lion 上的外观:

PDF 的外观,以及它在 OSX Mountain Lion 上的外观

在 Mavericks 上打印的 PDF:

在 Mavericks 上打印的 PDF

当我在谷歌上搜索这个问题时,我确实发现另一个人遇到了同样的问题

NSScrollView 没有什么花哨的,只是一个以 NSClipView 为它的 NSScrollView contentView,以及其中的一个 NSTableView 。

发票窗口的 IB 布局

我真的希望这是一个可以修复的问题,而不仅仅是 Mavericks 在打印 NSScrollViews 时引入的错误。谢谢你的帮助!

0 投票
1 回答
663 浏览

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

我们正在尝试修改 NSPrintPanel 的默认选定纸张大小。使用 NSNotification,我们能够在 NSPrintPanel 中观察和实现附件视图的更改。但是,当我们尝试实现setPaperSize(NSPrintInfo 实例方法)时,什么也没有发生,并且为所有其他打印机(我们有常规打印机和收据打印机)选择了默认打印机的初始纸张大小(默认)。

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

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

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

  2. 我知道这个附件视图是从页面设置(NSPageLayout)中读取的,因此我想知道在“纸张处理”附件视图中访问设置这些值是否是一个好方法?

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

我们正在谈论的附件视图: 我们无法修改的附件视图

我们已经审查了苹果文档(当然)和其他人发布的类似问题但无济于事。我们非常感谢朝着正确的方向前进。提前致谢。

0 投票
1 回答
463 浏览

xcode - NSPrintOperation 到 PDF 不在视图中显示页眉和页脚

我有一个 NSTextView 包含数据表,我重写了 drawPageBorderWithSize: 方法来绘制页脚(页码),页眉包含一个页面标题,当我使用 NSPrintOperation 显示打印面板时,一切正常。

但我需要在我的窗口中显示预览(不是打印面板中的那个),为此我尝试将我的视图导出为 PDF 数据,如下所示:

但是这个PDF文件只显示了表格,它没有显示我使用drawPageBorderWithSize制作的页眉和页脚,也没有我在myPrintInfo中疯狂的边距,正如我所说的所有这些都出现在打印面板中!

我也收到了这个错误:

断言失败:(s->stack->next != NULL),函数 CGGStackRestore,文件 Context/CGGStack.c,第 77 行。

为什么 NSPrintOperation 到 PDF 不能在我的 NSTextView 中显示所有内容??!!

0 投票
1 回答
594 浏览

cocoa - 如何在 OS X 中打印 MKMapView?

发送消息会导致仅包含 +/- 按钮和“合法”链接的输出MKMapView-print:如果我尝试[NSPrintOperation printOperationWithView:someMKMapView]or [theWindowThatContainsAMapView print]or也是一样[[NSPrintOperation PDFOperationWithView:someMKMapView insideRect:someMKMapView.bounds toPath:@"foo.pdf" printInfo:nil] runOperation]的。

苹果自己的 Maps.app 确实打印了地图,顺便说一句。

有没有人设法打印 MKMapView?

0 投票
1 回答
599 浏览

xcode - 将自定义视图打印到打印机的问题

正在打印自定义视图,我遇到了困难 - 希望有人能指出我正确的方向。我已经阅读了所有 Apple 文档的上方,但它只是无法正常工作。我创建了一个简单的程序来测试打印,我继承了 NSView (MainView) 并将以下内容添加到 drawRect 方法中。

我在窗口上创建了一个自定义视图并将其类设置为 MainView。

我运行程序并显示文本 - 到目前为止很好。

当我从下拉菜单中单击打印时,对话框打开并且预览显示整个窗口 - 它包括带有最小、最大按钮的上栏。所以,这是第一个问题,为什么它有整个窗口而不是视图?

其次,我在 MainView 中创建了一个打印例程并将一个下拉菜单项链接到它。

这在打印预览中不会产生任何结果。我尝试了各种方法,但没有任何效果(例如:NSSavePanel 和 beginSheetForDirectory... 方法)。上面的代码是我最后一次尝试。

总之,我有两个问题:1)为什么第一个打印整个窗口,而不是只打印视图?2) 为什么我的自定义打印方法不起作用?

我已经成功打印了一个 NSTextView,但无法缝合来获得这个。任何建议/指针/踢球将不胜感激。

谢谢你。

[编辑] - - -

我让它部分工作。我通过 NSObject 将自定义视图绑定到 printTheView 方法。在 IB 中,我将下拉菜单项绑定到窗口上的自定义视图对象。这行得通。

但是,我不能以相同的方式将窗口上的按钮绑定到打印方法 - 即 CNTL CLICK 并从按钮拖动到对象。

想法?

0 投票
1 回答
311 浏览

objective-c - 如何知道打印操作是否被取消?

我正在使用 (NSPrintOperation *)printOperationWithView:(NSView *)aView printInfo:(NSPrintInfo *)aPrintInfo 方法在我的 OS X 应用程序中打印视图。一切都按预期工作。当用户通过单击打印面板上的“取消”按钮取消打印操作时,有没有办法捕捉事件?我一直在这里搜索 Apple 的打印编程指南和网络,但到目前为止一无所获。有谁知道怎么做?