2015-03-24 11 views
11

की प्रिंटिंग सामग्री मैं WkWebView की सामग्री मुद्रित करने का प्रयास कर रहा हूं, लेकिन जब प्रिंट पैनल प्रकट होता है तो प्रिंट पूर्वावलोकन खाली होता है।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; 

} 

मैं WKWebView के लिए एक आउटलेट है, तो मैं देख सकता हूँ यह भरी हुई है और मैं इस तरह didFinishNavigation प्रतिनिधि विधि में print कॉल डाल रहा हूँ बस सुनिश्चित करने के यदि:

यहाँ कोड है:

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

कोई फर्क नहीं पड़ता कि पृष्ठ क्या करता है, प्रिंट पूर्वावलोकन हमेशा एक खाली पृष्ठ होता है। मैंने NSPrintOperation एस का उपयोग करने का भी प्रयास किया और परिणाम समान थे - प्रिंट पूर्वावलोकन और सहेजे गए पीडीएफ खाली पृष्ठ थे।

कोई विचार क्या मैं गलत कर रहा हूं? WKWebView को पीडीएफ में प्रिंट/कनवर्ट करने का कोई और तरीका है? सुझावों का स्वागत है। धन्यवाद।

+1

देखना (http://stackoverflow.com/questions/33319295/how-does-one-print-a-wkwebview-on [कैसे एक प्रिंट पर OSX एक WKWebView करता है] -ओएसएक्स) और http://www.openradar.me/23649229 –

उत्तर

-4

आप की सामग्री viewPrintFormatter के साथ प्रिंट कर सकते हैं। यहाँ नमूना कोड है:

if ([UIPrintInteractionController isPrintingAvailable]) 
{ 
    UIPrintInfo *pi = [UIPrintInfo printInfo]; 
    pi.outputType = UIPrintInfoOutputGeneral; 
    pi.jobName = @"Print"; 
    pi.orientation = UIPrintInfoOrientationPortrait; 
    pi.duplex = UIPrintInfoDuplexLongEdge; 

    UIPrintInteractionController *pic = [UIPrintInteractionController sharedPrintController]; 
    pic.printInfo = pi; 
    pic.showsPageRange = YES; 
    pic.printFormatter = self.webView.viewPrintFormatter; 
    [pic presentFromBarButtonItem:barButton animated:YES completionHandler:^(UIPrintInteractionController *printInteractionController, BOOL completed, NSError *error) { 
     if(error) 
      NSLog(@"handle error here"); 
     else 
      NSLog(@"success"); 
    }]; 
} 
+1

UIPrintInteractionController ओएसएक्स पर उपलब्ध नहीं है। यह केवल आईओएस पर उपलब्ध है। –

+0

हाँ आप सही हैं, यह उत्तर केवल आईओएस के लिए है। –