簡體   English   中英

使用Cocoa打印本地HTML

[英]Print Local HTML using Cocoa

我有一個簡單的項目列表,需要使用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, 0, 500, 500)];
NSPrintOperation *po = [NSPrintOperation printOperationWithView:webView printInfo:pi];

[pi release];
[po runOperation];

在問完后你解決的另一個問題!

運行循環需要迭代才能實際加載內容。 我只是在frame load delegate方法中完成了實際的打印操作:

- (void)webView:(WebView *)sender didFinishLoadForFrame:(WebFrame *)frame {
   ...
}

資源

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM