4
我有一個簡單的需要使用Cocoa打印的項目列表。我有一個半熟的解決方案,它使用一個帶有自定義drawRect:
方法的NSView,但它相當複雜並且不容易維護。使用Cocoa打印本地HTML
我想要的是一個HTML字符串(可以從列表中輕鬆構建),可以嵌入到一次性WebView中,然後打印。
假設我有一個簡單的NSString像:
NSString *htmlString = @"<b>Test</b>";
什麼是創建一個web視圖顯示這些內容的最簡單的方法?我試着下面的代碼,但它會導致一個空白頁:
WebView *webView = [[WebView alloc] init];
NSString *dir = @"/Users/Me/Desktop/";
NSString *fileUrl = [dir stringByAppendingPathComponent:@"Temp_Print.html"];
NSString *htmlString = @"<b>Hi!</b>";
[[htmlString dataUsingEncoding:NSUTF8StringEncoding] writeToFile:fileUrl atomically:YES];
[[webView mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:fileUrl]]];
[webView setFrame:NSMakeRect(0, 0, 500, 500)];
NSPrintOperation *po = [NSPrintOperation printOperationWithView:webView printInfo:pi];
[pi release];
[po runOperation];