Xcode 对PDF的NSPrint操作不';t在视图中显示页眉和页脚

Xcode 对PDF的NSPrint操作不';t在视图中显示页眉和页脚,xcode,nsprintoperation,Xcode,Nsprintoperation,我有一个NSTextView contain数据表,我重写了drawPageBorderWithSize:方法来绘制页脚(页码),页眉包含页面标题,当我使用NSPrintOperation显示打印面板时,一切正常 但我需要在我的窗口中显示预览(而不是打印面板中的预览),为此,我尝试将视图导出为PDF数据,如下所示: NSMutableData *pdfData = [[NSMutableData alloc]init]; NSPrintOperation *pdfOperation =

我有一个NSTextView contain数据表,我重写了drawPageBorderWithSize:方法来绘制页脚(页码),页眉包含页面标题,当我使用NSPrintOperation显示打印面板时,一切正常

但我需要在我的窗口中显示预览(而不是打印面板中的预览),为此,我尝试将视图导出为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,文件上下文/CGGStack.c,第77行


为什么NSPrintOperation到PDF不能在我的NSTextView中显示所有内容

比赛有点晚了,但我刚刚发现了你的问题

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