I have a print function like this:
- (void)sendToPrinter:(int)code { NSPrintInfo *printInfo; NSPrintInfo *sharedInfo; NSPrintOperation *printOp; NSMutableDictionary *printInfoDict; NSMutableDictionary *sharedDict; sharedInfo = [NSPrintInfo sharedPrintInfo]; sharedDict = [sharedInfo dictionary]; printInfoDict = [NSMutableDictionary dictionaryWithDictionary: sharedDict]; [printInfoDict setObject:NSPrintSpoolJob forKey:NSPrintJobDisposition]; printInfo = [[NSPrintInfo alloc] initWithDictionary: printInfoDict]; [printInfo setHorizontalPagination: NSAutoPagination]; [printInfo setVerticalPagination: NSAutoPagination]; [printInfo setVerticallyCentered:NO]; [printInfo setLeftMargin:10]; [printInfo setRightMargin:10]; [printInfo setTopMargin:10]; [printInfo setBottomMargin:10]; [printInfo setScalingFactor:1.1]; printOp = [NSPrintOperation printOperationWithView:sheet printInfo:printInfo]; [printOp setShowsPrintPanel:YES]; [printOp runOperation]; }
This prints a page preview view called NSBox . It works great.
Sometimes I have additional information that can fit on a page, and therefore I have buttons for the “next page” that fill the sheet with the presentation of pages Page2, Page3, etc., overloading the sheet with the corresponding data. It works great.
Now, if I want to print information that will fit on 2 or 3 pages, not 1, I want you to be able to deliver additional NSPrintInfo or NSPrintOperation manually before it prints, rather than pagination, What something like:
printOp = [NSPrintOperation printOperationWithView:sheet printInfo:printInfo]; [self nextPage]; printOp = [NSPrintOperation printOperationWithView:sheet printInfo:printInfo]; [self nextPage]; printOp = [NSPrintOperation printOperationWithView:sheet printInfo:printInfo];
Any solutions? Thanks in advance.
source share