NSPrintOperation到PDF在视图中不显示页眉和页脚

时间:2014-02-28 20:08:09

标签: xcode nsprintoperation

我有一个包含数据表的NSTextView,并且我覆盖了drawPageBorderWithSize:方法来绘制页脚(页码),页眉包含页面标题,当我使用NSPrintOperation显示打印面板时,每件事都可以正常工作。 / p>

但是我需要在我的窗口中显示预览(而不是打印面板中的预览),为此我尝试将我的视图导出为PDF数据,如下所示:

    NSMutableData *pdfData = [[NSMutableData alloc]init];
NSPrintOperation *pdfOperation = [NSPrintOperation PDFOperationWithView:printView insideRect:NSMakeRect(0, 0, 600, 900) toData:pdfData printInfo:myPrintInfo];
[pdfOperation runOperation];

PDFDocument *pdfDocument = [[PDFDocument alloc]initWithData:pdfData];
[pdfDocument writeToFile:@"/my directory/Test.pdf"];

但是这个PDF文件只显示了表格,它没有显示我使用drawPageBorderWithSize制作的页眉和页脚,也没有像myPrintInfo那样疯狂的边距,正如我所说的所有这些都出现在打印面板中!!

我也遇到了这个错误:

断言失败:(s-> stack-> next!= NULL),函数CGGStackRestore,文件Context / CGGStack.c,第77行。

为什么NSPrintOperation到PDF不会显示我的NSTextView中的所有内容?? !!

1 个答案:

答案 0 :(得分:0)

游戏有点晚,但我刚发现你的问题。

在这种情况下,不调用方法drawPageBorderWithSize:。改为在drawRect:中绘制所有内容。