所以我目前正在尝试打印一个已经加载到Cocoa应用程序中的WebView的pdf,如果你想看到你必须滚动的整个内容,它的大小。问题是无论何时打印,它只打印当前在WebView中显示的内容而不是整个页面,代码如下:
[[[[WebView mainFrame] frameView] documentView] print:sender];
我不确定我是在尝试打印错误的部分,还是只需要以其他方式解决这个问题,并且非常感谢一些帮助。
答案 0 :(得分:14)
我发现这是一个老问题,但由于还没有任何答案,我想我会为任何搜索者提供这个。
NSPrintInfo *printInfo = [NSPrintInfo sharedPrintInfo];
// This is your chance to modify printInfo if you need to change
// the page orientation, margins, etc
[printInfo setOrientation:NSLandscapeOrientation];
NSPrintOperation *printOperation = [yourWebView.mainFrame.frameView
printOperationWithPrintInfo:printInfo];
// Open the print dialog
[printOperation runOperation];
// If you want your print window to appear as a sheet instead of a popup,
// use this method instead of -[runOperation]
[printOperation runOperationModalForWindow:yourWindow
delegate:self
didRunSelector:@selector(printDidRun)
contextInfo:nil];
答案 1 :(得分:0)
以下Swift代码适用于我:
NSPrintOperation(view: webView.mainFrame.frameView.documentView).runOperation()