我在macosx上从桌面应用程序打印时遇到问题。 我在我用于打印的IB文件中构建了一个视图。 然后通过
打电话给我的行动printOp = [NSPrintOperation printOperationWithView:self.myPrintView printInfo: printInfo];
打印NSView
。
就在此之前,我使用了一个简单的函数
[self displayPrintingData];
在视图上构建我的数据
-(void)displayPrintingData {
//header
self.headerData.alignment = NSTextAlignmentCenter;
self.headerData.string = @"bla bla bla";
self.footerData.string = @"ribla ribla ribla";
[self.printTableView reloadData];
}
我的问题是我需要打印尽可能多的行(使用不同的nsview和不同的nstableview)。 如何达到缩短或延长NSTableView的目标?这是动态打印多行的最佳方法吗?
提前感谢您的建议!!!!!
欢呼声
答案 0 :(得分:1)
示例:
NSPrintOperation *printOperation = [NSPrintOperation printOperationWithView:self.printTableView];
NSPrintInfo *printInfo = printOperation.printInfo;
[printInfo.dictionary setObject:@YES forKey:NSPrintHeaderAndFooter];
[printOperation runOperation];
注意:视图是tableview。这是NSTableView的子类,包含方法:
- (NSAttributedString *)pageHeader
{
return [[NSAttributedString alloc] initWithString:@"bla bla bla"];
}
- (NSAttributedString *)pageFooter
{
return [[NSAttributedString alloc] initWithString:@"ribla ribla ribla"];
}