我有一个mac可可图像编辑应用程序。我想在我的应用程序中添加打印图像功能。我基本上总是有一个jpg / png文件。每当用户转到文件 - >打印菜单我想给用户一个打印选项/设置的对话框来打印这个jpg / png文件。我希望为图像打印定制打印对话框,例如我们从预览应用程序打印图像时获得的打印对话框。
我不想使用类似下面的东西,因为这会给出一个简单的不可定制的打印对话框:
[NSPrintOperation printOperationWithView:viewToPrint printInfo:[self.document printInfo]]
答案 0 :(得分:0)
好吧,您可以将所有内容放在NSView中,然后使用print
方法。此方法将打印视图内的所有内容(包括子视图)。现在,对于可自定义的打印,您可以进行以下操作:用户单击标记为“打印”的按钮,它会使您的自定义对话框出现在用户可以选择的位置,例如,显示例外日期(在子视图中,视图中的要打印),当用户在对话框中单击打印时,存储这些选项和它们,您可以删除他不想显示的子视图。在打印完之后,再次展示它。此处还有其他打印视图的方法:http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSView_Class/Reference/NSView.html
答案 1 :(得分:0)
请使用此代码。
NSPrintInfo *printInfo = [NSPrintInfo sharedPrintInfo];
NSImage *pic = [[NSImage alloc] initWithContentsOfFile: @"/Users/Anne/Desktop/Sample.png"];
NSRect picRect = NSRectFromCGRect(CGRectMake(0, 0, pic.size.width, pic.size.height));
NSImageView *imageView = [[NSImageView alloc] initWithFrame:picRect];
[imageView setImage:pic];
NSPrintOperation * picPrint = [NSPrintOperation printOperationWithView:imageView printInfo:printInfo];
[picPrint setCanSpawnSeparateThread:YES];
[picPrint runOperation];