我有一个应用程序打算使用NSPrintOperation
打印文档每页的光栅图像。我可以创建单个页面的NSImage
并使用NSPrintOperation
进行打印,如下所示
-void printPage:(NSImage)nsImage
{
NSImageView *nsImageView = [[NSImageView alloc] init];
NSSize imageSize = [nsImage size];
[nsImageView setImage:(NSImage *)nsImage];
[nsImageView setFrame:NSMakeRect(0, 0, imageSize.width, imageSize.height)];
[nsImageView setImageScaling:NSScaleToFit];
NSPrintOperation *mNSPrintOperation = [NSPrintOperation printOperationWithView:(NSView *)nsImageView];
NSPrintInfo *currentNSPrintInfo = [NSPrintInfo sharedPrintInfo];
[currentNSPrintInfo setHorizontalPagination:NSFitPagination];
[currentNSPrintInfo setVerticalPagination:NSFitPagination];
[mNSPrintOperation setPrintInfo:currentNSPrintInfo];
[mNSPrintOperation setShowsPrintPanel:NO];
[mNSPrintOperation setShowsProgressPanel:YES];
[mNSPrintOperation runOperation];
}
现在,当我要打印多个页面时,我想使用单个NSPrintOperation
打印所有页面。基本上,我希望将每个页面的NSImage/NSImageView
作为单独的页面插入到单个NSView
中,并使用此NSView
最后使用NSPrintOperation
进行打印。我想用单NSPrintOperation
打印它的原因是我想获得显示当前页面打印的打印进度条。否则,我可以为每个NSPrintOperation
创建一个单独的NSImageView
并使用它进行打印。