0

我在 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 的目标?这是动态打印多行的最佳方式吗?

提前感谢您的建议!!!!

干杯

4

1 回答 1

1

例子:

NSPrintOperation *printOperation = [NSPrintOperation printOperationWithView:self.printTableView];
NSPrintInfo *printInfo = printOperation.printInfo;
[printInfo.dictionary setObject:@YES forKey:NSPrintHeaderAndFooter];
[printOperation runOperation];

注意:视图是表格视图。这是 NSTableView 的子类,具有以下方法:

- (NSAttributedString *)pageHeader
{
    return [[NSAttributedString alloc] initWithString:@"bla bla bla"];
}

- (NSAttributedString *)pageFooter
{
    return [[NSAttributedString alloc] initWithString:@"ribla ribla ribla"];
}
于 2016-05-13T21:20:55.283 回答