1

データのテーブルを含む 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、ファイル Context/CGGStack.c、77 行目。

NSPrintOperation to PDF で NSTextView のすべてが表示されないのはなぜですか??!!

4

1 に答える 1