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

objective-c – 使用Cocoa打印本地HTML,第1张

概述我有一个简单的项目列表,需要使用 Cocoa打印.我有一个半生不熟的解决方案,它使用带有自定义drawRect:方法的NSView,但它相当复杂并且不易维护. 我想要的是一个HTML字符串(可以从列表中轻松构建),可以嵌入一次性WebView,然后打印. 假设我有一个简单的NSString,如: NSString *htmlString = @"<b>Test</b>"; 创建显示此内容的WebV 我有一个简单的项目列表,需要使用 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];
解决方法 在问完后你解决的另一个问题!

运行循环需要迭代才能实际加载内容.我只是在frame load delegate方法中完成了实际的打印 *** 作:

- (voID)webVIEw:(WebVIEw *)sender dIDFinishLoadForFrame:(WebFrame *)frame {   ...}

Source

总结

以上是内存溢出为你收集整理的objective-c – 使用Cocoa打印本地HTML全部内容,希望文章能够帮你解决objective-c – 使用Cocoa打印本地HTML所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1001170.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-21
下一篇2022-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存