У меня есть простой список элементов, которые необходимо распечатать с помощью Cocoa. У меня есть полупеченое решение, которое использует NSView с пользовательским методом drawRect:
, но это довольно сложно и не очень просто поддерживать.Печать локального HTML с использованием Cocoa
То, что я хотел бы иметь, это строка 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];