gpt4 book ai didi

objective-c - 使用 Cocoa 打印本地 HTML

转载 作者:搜寻专家 更新时间:2023-10-30 19:42:20 25 4
gpt4 key购买 nike

我有一个需要使用 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];

最佳答案

又一个问完就解决的问题!

运行循环需要迭代才能真正加载内容。我只是在框架加载委托(delegate)方法中完成了实际的打印操作:

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

Source

关于objective-c - 使用 Cocoa 打印本地 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7523481/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com