打印多個頁面我有打印功能,如下所示:在Objective-C
- (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];
}
此打印頁面的預覽的表示稱爲片,這是一個NSBox
。這工作正常。
有時候,我有一個可以容納一個頁面上,所以我有「下一頁」按鈕,通過重新加載紙有關數據填補表與第二頁,第三頁等的表示更多的信息。這工作正常。
現在,如果我想打印出適合2頁或3頁而不是1頁的信息,我希望能夠在打印之前手動輸入NSPrintInfo
或NSPrintOperation
附加頁面,而不是分頁。例如:
printOp = [NSPrintOperation printOperationWithView:sheet
printInfo:printInfo];
[self nextPage];
printOp = [NSPrintOperation printOperationWithView:sheet
printInfo:printInfo];
[self nextPage];
printOp = [NSPrintOperation printOperationWithView:sheet
printInfo:printInfo];
// run this in loop until all the pages are accounted for
[printOp setShowsPrintPanel:YES];
[printOp runOperation];
任何解決方案?提前致謝。
我正在閱讀關於使用PDFView或Quartz的建議。這可能是我走下去的一條路線,但看起來OTT考慮我正在打印一個NSBox,並且通過一種快速方法,可以將整個NSBox更改爲每個後續頁面。我只想讓打印操作接受與第2頁,第3頁等相同的NSBox,並快速調用該方法將NSBox更改爲相關頁面。 – biscuitstack 2011-04-23 12:49:23
也看看這個教程:http://cocoadevcentral.com/articles/000074.php它真的幫助我的印刷困境。 – siannopollo 2012-11-03 04:59:59