Mac OSX アプリのヘッダーとフッター (ページ番号) を含む myWebView のコンテンツを印刷したいと考えています。これまでのところ、次のコードを使用して myWebView のコンテンツを印刷できます (このリンクから、Objective-C で複数のページを印刷しています)。
- (IBAction)sendToPrinter:(id)sender {
NSPrintInfo *printInfo;
NSPrintInfo *sharedInfo;
NSPrintOperation *printOp;
NSMutableDictionary *printInfoDict;
NSMutableDictionary *sharedInfoDict;
NSDictionary *printSettings;
sharedInfo = [NSPrintInfo sharedPrintInfo];
sharedInfoDict = [sharedInfo dictionary];
printInfoDict = [NSMutableDictionary dictionaryWithDictionary:sharedInfoDict];
[printInfoDict setObject:NSPrintSpoolJob forKey:NSPrintJobDisposition];
printInfo = [[NSPrintInfo alloc] initWithDictionary: printInfoDict];
[printInfo setHorizontalPagination: NSFitPagination];
[printInfo setVerticalPagination: NSAutoPagination];
[printInfo setVerticallyCentered:NO];
[printInfo setLeftMargin:36];
[printInfo setRightMargin:36];
[printInfo setTopMargin:72];
[printInfo setBottomMargin:72];
[printInfo setScalingFactor:1.0];
[[printInfo dictionary] setValue:[NSNumber numberWithBool:YES] forKey:NSPrintHeaderAndFooter];
[[printInfo dictionary] addEntriesFromDictionary:printSettings];
PrintTextView *printView = [[PrintTextView alloc] initWithFrame:[printInfo imageablePageBounds]];
printView.printJobTitle = @"Title of page to be printed inside the header";
NSView *webViewContent = [[[myWebView mainFrame] frameView] documentView];
printOp = [NSPrintOperation printOperationWithView:webViewContent printInfo: printInfo];
[printOp runOperation];
}
プロジェクトに PrintTextView クラスを追加しました。私は OSX ライブラリ ドキュメントと NSPrintOperation メソッドを読んできましたが、これまでのところ、初心者であるため、ヘッダーとフッターを追加する方法を理解できません。ヘルプ、サンプル コード、またはガイダンスに感謝します。