2015-10-06 21 views
8

Il requisito: Ho un oggetto WKWebview chiamato wkWebView. Voglio stampare i suoi contenuti dalla mia stampante usando Airprint. Ho usato per fare questo utilizzando UIWebview ma il requisito dei metodi javascript runtime mi ha fatto passare a WKWebview.Problema durante la stampa di 2 pagine da un WKWebView

@property (strong, nonatomic) WKWebView *wkWebView; 

Il problema: sono in grado di stampare il contenuto usando il codice seguente. Quando stampo 1 pagina, stampa perfettamente. Ma quando provo a stampare 2 pagine, la seconda pagina viene stampata per prima e poi viene stampata la prima pagina. Voglio stampare le pagine in ordine seriale.

Il codice: Attualmente sto usando questo codice nel mio metodo di stampa:

UIPrintInfo *pi = [UIPrintInfo printInfo]; 
pi.outputType = UIPrintInfoOutputGrayscale; 
pi.orientation = UIPrintInfoOrientationPortrait; 
pi.duplex = UIPrintInfoDuplexNone; 


UIPrintInteractionController *pic = [UIPrintInteractionController sharedPrintController]; 
pic.printInfo = pi; 
pic.showsPageRange = YES; 
pic.showsNumberOfCopies = NO; 
pic.printFormatter = _wkWebView.viewPrintFormatter; 

UIButton *butn = (UIButton*)sender; 

[pic presentFromRect:butn.frame 
       inView:self.view 
      animated:YES 
    completionHandler:^(UIPrintInteractionController *printInteractionController, BOOL completed, NSError *error) { 

     //Do something 
    }]; 
+0

Ho provato il codice con la pagina di ricerca di google e funziona. Mostra le pagine nell'ordine corretto, quindi sospetto che tu abbia fatto qualcosa in un altro posto nel codice che l'ha spezzato. Quindi puoi mostrare più codice che hai? –

+0

@MahmoudAdam: al posto della pagina di ricerca di google, sto caricando un file html locale (in una stringa html) in questa webview. Non sono sicuro del perchè ciò stia succedendo. – Nishant

+0

Puoi pubblicare l'html perché penso che il problema sia sul codice HTML stesso, non sul codice –

risposta

-2

Hai mai provato per stampare le pagine separatamente?

Vorrei inserirli in una matrice, quindi controllare la lunghezza dell'array ed eseguire il codice per stampare la pagina all'interno di un ciclo For.

Problemi correlati