AirPrint, l’impression de texte en Swift
Je viens de m’acheter une imprimante HP qui est compatible AirPrint (Le protocole d’impression pour mobile d’Apple), et je me suis dit pourquoi pas l’intégrer dans Mes Lentilles et Mes Lentille One.
Voici une petite fonction pour réaliser une impression de texte :
1 2 3 4 5 6 7 8 9 10 11 |
func textPrint (txt : String) { let printController = UIPrintInteractionController.shared let printInfo = UIPrintInfo(dictionary:nil) printInfo.outputType = UIPrintInfoOutputType.general printInfo.jobName = "print Job" printController.printInfo = printInfo let formatter = UIMarkupTextPrintFormatter(markupText: txt) formatter.perPageContentInsets = UIEdgeInsets(top: 72, left: 72, bottom: 72, right: 72) printController.printFormatter = formatter printController.present(animated: true, completionHandler: nil) } |
Pour exécuter cette fonction :
1 |
textPrint(txt: textView.text) |
Voici une autre méthode pour imprimer du texte
1 2 3 4 5 6 7 8 |
func printText(text: String) { let attrs = [NSAttributedStringKey.font: UIFont.systemFont(ofSize: 20), NSAttributedStringKey.foregroundColor : UIColor.green ] let str = NSAttributedString(string: text, attributes: attrs) let print = UISimpleTextPrintFormatter(attributedText: str) let vc = UIActivityViewController(activityItems: [print], applicationActivities: nil) present(vc, animated: true) } |
Pour exécuter cette fonction :
1 |
printText(text: textView.text) |
Dans cette fonction vous pouvez changer la taille du text ( UIFont.systemFont(ofSize: 20 ) )et sa couleur ( NSAttributedStringKey.foregroundColor : UIColor.green ). J’ai utilisé cette fonction dans “Mes Lentilles One”.
Bonne impression.