AirPrint快速推出多个MVC

时间:2017-12-18 04:05:15

标签: swift forms printing airprint

我正在构建一个表单样式的应用程序,允许用户填写文本字段。一旦他们填满页面,它将继续进入第二个视图。这将是大约5页的患者表格。当他们到达最后一页时,我想要一个打印按钮,打印他们刚刚填写的所有5或6页。我正在尝试使用我最近在这里找到的AirPrint代码,但它只会让我执行当前视图。

extension UIView {
    func toImage() -> UIImage {
        UIGraphicsBeginImageContextWithOptions(bounds.size, false, UIScreen.main.scale)

//        drawHierarchy(in: self.bounds, afterScreenUpdates: true)

        let image = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()
        return image!
    }
}


let pInfo = UIPrintInfo(dictionary:nil)
pInfo.outputType = UIPrintInfoOutputType.general
pInfo.jobName = "Print Patient Forms"

          //Set up print controller
let printController = UIPrintInteractionController.shared
printController.printInfo = pInfo

       //Assign a UIMage version of my UIView as a printing Item
printController.printingItem = self.view

var pInfo : UIPrintInfo = UIPrintInfo.printInfo()
pInfo.orientation = UIPrintInfoOrientation.portrait

let formatter = UIMarkupTextPrintFormatter(markupText: textView.text!)

printController.showsNumberOfCopies = false
printController.showsPageRange = true

printController.printFormatter = formatter         printController.present(animated: true, completionHandler: nil)

如何让所有页面打印出来?

0 个答案:

没有答案