我有一个简单的项目列表,需要使用
Cocoa打印.我有一个半生不熟的解决方案,它使用带有自定义drawRect:方法的NSView,但它相当复杂并且不易维护.
我想要的是一个HTML字符串(可以从列表中轻松构建),可以嵌入一次性WebView,然后打印.
假设我有一个简单的NSString,如:
NSString *htmlString = @"<b>Test</b>";
创建显示此内容的WebView的最简单方法是什么?我已经尝试了以下代码,但它会产生一个空白页面:
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,500,500)]; NSPrintOperation *po = [NSPrintOperation printOperationWithView:webView printInfo:pi]; [pi release]; [po runOperation];