J'utilise le UIPrintInteractionController
pour imprimer un code HTML à partir d'un UIWebView
directement sur une imprimante AirPrint. Je voudrais dire au UIPrinter
que seule la première page devrait être imprimée. Comment puis-je faire ceci?Comment définir le nombre de pages à imprimer en utilisant UIPrintInteractionController.print dans swift 3?
Voici mon code Wich imprime toutes les pages:
let printer = UIPrinter(url: myURL)
let printerController = UIPrintInteractionController.shared
let printInfo = UIPrintInfo(dictionary: nil)
printInfo.jobName = "My print job name"
printInfo.outputType = .general
printerController.printInfo = printInfo
let printPageRenderer = MyCustomPageRenderer()
printPageRenderer.addPrintFormatter(myWebView.viewPrintFormatter(), startingAtPageAt: 0)
printerController.printPageRenderer = printPageRenderer
printerController.print(to: printer!) { (printerController, success, error) in
}
Le code doit être compatible avec iOS 9.0.
Ok, mais NumberOfPages est en lecture seule, comment passer outre? –
Avez-vous essayé showsPageRange = true; ? –
Oui, mais avec la méthode d'impression j'évite le dialogue, donc la propriété est inutile dans ce cas, non? –