3

URLからページを印刷できる小さなユーティリティをコーディングしたいのですが、URLは標準ファイル(pdfやjpgの画像など)を配信し、ダイアログを表示せずにcocoaアプリ内からこれを印刷したいだけです。それは可能ですか?ファイルを使用してビューを作成してからこのビューを印刷するように指示する以外は、ドキュメントでこれについて何も見つかりませんが、これは本当に必要ですか?

助けていただければ幸いです。

ありがとう、フィリップ

4

1 に答える 1

4

印刷するためにを表示する必要はありませんNSView。プログラムで を
作成し、 に渡すだけです。NSViewNSPrintOperation

コード例:

// Get Print Info
NSPrintInfo *printInfo = [NSPrintInfo sharedPrintInfo];

// Printing Text
NSRect textRect = NSMakeRect(0,0,100,50);
NSTextView *theTextView = [[NSTextView alloc] initWithFrame:textRect];
[theTextView setString: @"Hello World"];
NSPrintOperation *textPrint = [NSPrintOperation printOperationWithView:theTextView printInfo:printInfo];
[textPrint setCanSpawnSeparateThread:YES];
[textPrint runOperation];

// Printing Picture
NSImage *pic =  [[NSImage alloc] initWithContentsOfFile: @"/Users/Anne/Desktop/Sample.png"];
NSRect picRect = NSRectFromCGRect(CGRectMake(0, 0, pic.size.width, pic.size.height));
NSImageView *imageView = [[NSImageView alloc] initWithFrame:picRect];
[imageView setImage:pic];
NSPrintOperation * picPrint = [NSPrintOperation printOperationWithView:imageView printInfo:printInfo];
[picPrint setCanSpawnSeparateThread:YES];
[picPrint runOperation];

PDF ドキュメントを使用する場合PDFView(Quartz フレームワークを追加します)。

使用を検討することもできますWebView(WebKit フレームワークを追加します)。
WebView は多くの形式をサポートし、書式設定を簡単にします (HTML)。

于 2012-06-21T18:50:18.670 に答える