2015-10-06 16 views
8

Die Anforderung: Ich habe ein WKWebview Objekt namens wkWebView. Ich möchte den Inhalt mit Airprint von meinem Drucker aus drucken. Ich habe dies mit UIWebview gemacht, aber die Anforderung von Laufzeit-Javascript-Methoden hat mich zu WKWebview wechseln lassen.Problem beim Drucken von 2 Seiten von einem WKWebView

@property (strong, nonatomic) WKWebView *wkWebView; 

Das Problem: Ich bin in der Lage, den Inhalt mit dem Code unten zu drucken. Wenn ich 1 Seite drucke, druckt es perfekt. Aber Wenn ich versuche, 2 Seiten zu drucken, druckt die zweite Seite zuerst und dann wird die erste Seite gedruckt. Ich möchte die Seiten in der seriellen Reihenfolge drucken.

Der Code: ich zur Zeit dieses Code in meiner Druckmethode verwende:

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

Ich habe Ihren Code mit Google-Suchseite versucht, und es funktioniert. Es zeigt die Seiten in der richtigen Reihenfolge an, also vermute ich, dass Sie etwas an einem anderen Ort im Code getan haben, der es kaputt gemacht hat. Kannst du mehr Code zeigen, den du hast? –

+0

@MahmoudAdam: Anstelle der Google-Suchseite lade ich in dieser Webansicht eine lokale HTML-Datei (in HTML-String). Nicht sicher, warum das passiert. – Nishant

+0

Kannst du den HTML schreiben, weil ich denke, dass das Problem auf dem HTML selbst nicht der Code ist –

Antwort

-2

Haben Sie jemals versucht, die Seiten einzeln zu drucken?

würde ich sie Seiten in einem Array setzen, dann überprüfen Sie die Array-Länge und den Code ausführen, um die Seite innerhalb eines For-Schleife zu drucken.

Verwandte Themen