9

因此,我目前正在尝试打印我已加载到 Cocoa 应用程序中的 WebView 中的 pdf,如果您想查看必须滚动的整个内容,该文件的大小会调整到哪里。问题是,无论何时打印,它只打印当前在 WebView 中显示的内容,而不是整个页面,代码如下:

    [[[[WebView mainFrame] frameView] documentView] print:sender];

我不确定我是否只是想打印它的错误部分,或者只是需要以另一种方式解决这个问题,非常感谢一些帮助。

4

2 回答 2

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];
于 2014-01-21T17:26:40.113 回答
0

以下 Swift 代码适用于我:

NSPrintOperation(view: webView.mainFrame.frameView.documentView).runOperation()
于 2015-10-30T06:42:51.830 回答