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
}];
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? –
@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
Puoi pubblicare l'html perché penso che il problema sia sul codice HTML stesso, non sul codice –