我有一个包含数据表NSTextView,我重写了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中的所有内容??!!
发布于 2014-09-14 22:55:48
有点晚了,但我刚发现你的问题。
在这种情况下,不会调用drawPageBorderWithSize:方法。取而代之的是用drawRect:绘制所有内容。
https://stackoverflow.com/questions/22104857
复制相似问题