在我的Mac應用程序中,我有一個顯示一些html內容的webview。我從該webview創建一個PDFDocument,然後我想打印該文檔。所以我從文檔創建一個PDFView,然後我調用NSPrintOperation printOperationWithView。當顯示打印面板時,除頁面預覽顯示爲空白外,所有顯示都正確,但如果按下詳細信息按鈕,則會刷新面板並正確顯示頁面預覽。Cocoa osx PDFView NSPrintOperation PrintPanel不顯示頁面預覽
我該如何解決這個問題? 需要幫助。提前致謝。
這是我的問題的一個例子:
1的打印面板顯示空白頁面預覽。接下來我按展示細節。
2-刷新頁面預覽顯示正確後面板。
這是我的代碼:
NSPrintInfo *printInfo = [NSPrintInfo sharedPrintInfo];
[printInfo setTopMargin:0.0];
[printInfo setBottomMargin:0.0];
[printInfo setLeftMargin:0.0];
[printInfo setRightMargin:0.0];
[printInfo setHorizontalPagination:NSFitPagination];
[printInfo setVerticalPagination:NSAutoPagination];
[printInfo setVerticallyCentered:NO];
[printInfo setHorizontallyCentered:YES];
NSData *pdfFinal = [[[[webView mainFrame] frameView] documentView] dataWithPDFInsideRect:[[[webView mainFrame] frameView] documentView].frame];
PDFDocument *doc = [[PDFDocument alloc] initWithData:pdfFinal];
PDFView *pdfView = [[PDFView alloc] init];
[pdfView setDocument:doc];
NSPrintOperation *op;
op = [NSPrintOperation printOperationWithView:pdfView.documentView printInfo:printInfo];
[op setShowsProgressPanel:YES];
[op setShowsPrintPanel:YES];
[op runOperation];
謝謝你的答案。我嘗試使用initWithFrame,但問題仍然存在:S – user3065901
runOperationModalForWindow do not't help – Borzh
很高興看到您找到了一個工作解決方案 - upvote for your answer。 :-) –