У меня есть приложение, которое намеревается распечатать растровое изображение каждой страницы документа, используя 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
и распечатать его.