相关疑难解决方法(0)

打印WKWebView(OS X)的内容

我正在尝试打印a的内容WkWebView,但是当打印面板出现时,打印预览为空.

这是代码:

- (void)viewDidLoad {
    [super viewDidLoad];

    WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init];
    _webView = [[WKWebView alloc] initWithFrame:self.webViewOutlet.frame configuration:config];
    [_webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"https://www.google.com"]]];
    [_webViewOutlet addSubview:_webView];
    _webView.navigationDelegate = self;

}
Run Code Online (Sandbox Code Playgroud)

我有一个插座,WKWebView所以我可以看到它是否已加载,我将print调用这样的didFinishNavigation委托方法,只是为了确保:

- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation
{
    [self.webView print:nil];
}
Run Code Online (Sandbox Code Playgroud)

无论页面是什么,打印预览始终是空白页面.我也试过使用NSPrintOperations,结果是一样的 - 打印预览和保存的PDF是空白页.

我有什么想法我做错了吗?还有另一种打印/转换WKWebView为PDF的方法吗?欢迎提出建议.谢谢.

macos cocoa webkit objective-c wkwebview

13
推荐指数
1
解决办法
2537
查看次数

WKWebKit Mac OS NSPrintOperation

WebKit 1暴露了WebFrameView我可以进行所有打印操作.

- (void)webView:(WebView *)sender printFrameView:(WebFrameView *)frameView {
  NSPrintOperation *printOperation = [frameView printOperationWithPrintInfo:[NSPrintInfo sharedPrintInfo]];
  [printOperation runOperation];
}
Run Code Online (Sandbox Code Playgroud)

使用WKWebKit API,我似乎无法弄清楚如何执行类似的操作或抓取哪个视图进行打印.我所有的努力都提出了空白页面.

macos objective-c nsprintoperation wkwebview

8
推荐指数
1
解决办法
627
查看次数

标签 统计

macos ×2

objective-c ×2

wkwebview ×2

cocoa ×1

nsprintoperation ×1

webkit ×1