因此,我目前正在尝试打印我已加载到 Cocoa 应用程序中的 WebView 中的 pdf,如果您想查看必须滚动的整个内容,该文件的大小会调整到哪里。问题是,无论何时打印,它只打印当前在 WebView 中显示的内容,而不是整个页面,代码如下:
[[[[WebView mainFrame] frameView] documentView] print:sender];
我不确定我是否只是想打印它的错误部分,或者只是需要以另一种方式解决这个问题,非常感谢一些帮助。
我看到这是一个老问题,但由于还没有任何答案,我想我会为任何搜索的人提供这个。
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];
以下 Swift 代码适用于我:
NSPrintOperation(view: webView.mainFrame.frameView.documentView).runOperation()