【发布时间】:2011-02-03 00:46:07
【问题描述】:
目前我正在为 OSX 编写一个最终需要移植到 iOS 的应用程序。
需要打印的数据正在通过 CoreGraphics 绘制到 PDF 上下文中 - 效果很好。
我一直在阅读有关在 iOS 和 OSX 中打印的 Apple 开发文档,具有讽刺意味的是,实际上从 iOS 打印似乎会更容易。
在 iOS 上,UIPrintInteractionController 的 printingItem 属性可以获取包含 PDF 数据的 NSData 对象并打印它。看起来应该是相当直截了当的。
另一方面,OSX(看起来)需要使用NSPrintOperation 类——但似乎将数据导入实例的唯一方法是通过 NSView。 (+printOperationWithView: 或 +printOperationWithView:printInfo:)。
鉴于内容已经格式化和分页,因此必须将 PDF 数据重新绘制为 NSView 之类的东西似乎毫无意义。
是否有其他方法可以实现我错过的目标?
【问题讨论】:
-
找到了一些有用的信息:Core Printing Reference -
PMPrinterPrintWithProvider看起来它可能能够完成这项工作,但如果有人有其他或希望有更好的建议,请发布! -
我建议将其发布为答案。
-
@PeterHosey:我愿意,但是这样做需要大量代码,并且不允许用户使用 OSX 的内置对话框更改任何设置。此外,设置纸张尺寸之类的事情似乎没有记录。将继续寻找替代解决方案。
标签: objective-c cocoa macos printing