如何在MacGap中打印HTML元素的内容?

时间:2015-09-03 06:31:52

标签: objective-c macos cocoa webview macgap

我正在使用MacGap2创建一个WebView应用程序,并且我希望能够打印HTML元素的内容(使用您在Safari / Preview /中看到的打印预览)等)。

我一直在关注WebUIDelegate's webView:printFrameView以及Printing Entire Contents of WebView in Cocoa, Not Just Displayed - 但由于我是Objective-C的新用户,因此我很难将它们整合在一起/可可。

如果我想要这样的方法(如果打印预览有效,则不需要选项):

MacGap.print([HTMLelement], [options]);

// Example usage
var el = document.getElementById('view');

// Or if not element, send as HTML string? (with inline CSS)
// el = el.innerHTML;

MacGap.print(el, { printBackgrounds: true, landscape: false });

我需要将哪些内容添加到我的MacGap类/命令中?

App.h:

- (void) print:(NSString*)printString;

App.m:

- (void) print:(NSString*)printString {
    // ???
} 

1 个答案:

答案 0 :(得分:0)

我没有MacGap2的经验,我在uiwebview上测试了这个,而不是webview,但我认为它仍然可以从webview中获取html字符串。

- (void) print:(NSString*)printString 
{
     NSString * pstrViewHTML= [myWebView stringByEvaluatingJavaScriptFromString:@"function getView(){return document.getElementById('view');} getView();"];
    // Do something with html string.
}