Swift2 Xcode空气打印
我是xcode和swift的初学者 我的viewcontroller中有几个字段和一个图像,我想打印这些字段的内容 我的教程代码:Swift2 Xcode空气打印,swift2,Swift2,我是xcode和swift的初学者 我的viewcontroller中有几个字段和一个图像,我想打印这些字段的内容 我的教程代码: @IBAction func print(sender: AnyObject) { // 1 let printController = UIPrintInteractionController.sharedPrintController() // 2 let printInfo = UIPrintInfo(dictionar
@IBAction func print(sender: AnyObject) {
// 1
let printController = UIPrintInteractionController.sharedPrintController()
// 2
let printInfo = UIPrintInfo(dictionary:nil)
printInfo.outputType = UIPrintInfoOutputType.General
printInfo.jobName = "Rapport"
printController.printInfo = printInfo
// 3
let formatter = UIMarkupTextPrintFormatter(markupText: itemName.text!)
formatter.contentInsets = UIEdgeInsets(top: 72, left: 72, bottom: 72, right: 72)
printController.printFormatter = formatter
// 4
printController.presentAnimated(true, completionHandler: nil)
}
仅此文本字段就可以很好地使用。但是我如何打印其余部分呢?您正在使用格式化程序向
printController
发送要打印的标记文本。此函数接受一个字符串,因此您可以创建一个包含所有文本的自定义字符串,并调用此函数,如下所示:
// 3
let myMarkupText = itemName.text! + "\n" + secondField.text! + "\n" + anotherField.text!
let formatter = UIMarkupTextPrintFormatter(markupText: myMarkupText)
...
我添加了“\n”以开始一个新行,但是您当然可以按照您想要的方式格式化它。我不确定“\n”是否会创建新行(因为这是标记,可能您需要
),您必须尝试查看
如果要打印整个页面而不是某些部分,还可以检查以查看有哪些其他选项(
printingItem
,printingItems
,printPageRenderer
)。或者,如果有一个包含多个回车符的长字符串,在将字符串提交到UIMarkupTextPrintFormatter之前,您需要首先将所有\n出现的内容替换为br/。以下是Swift 4的一个示例:
func print(text: String) {
let textWithNewCarriageReturns = text.replacingOccurrences(of: "\n", with: "<br />")
let printController = UIPrintInteractionController.shared
let printInfo = UIPrintInfo(dictionary: nil)
printInfo.outputType = UIPrintInfoOutputType.general
printController.printInfo = printInfo
let format = UIMarkupTextPrintFormatter(markupText: textWithNewCarriageReturns)
format.perPageContentInsets.top = 72
format.perPageContentInsets.bottom = 72
format.perPageContentInsets.left = 72
format.perPageContentInsets.right = 72
printController.printFormatter = format
printController.present(animated: true, completionHandler: nil)
}
func打印(文本:字符串){
let textwithnewcareers=text.replacingOccurrences(of:“\n”,with:“
”)
让printController=UIPrintInteractionController.shared
让printInfo=UIPrintInfo(字典:nil)
printInfo.outputType=UIPrintInfoOutputType.general
printController.printInfo=printInfo
let format=UIMarkupTextPrintFormatter(markupText:TextWithNewCarriesReturns)
format.perPageContentInsets.top=72
format.perPageContentInsets.bottom=72
format.perPageContentInsets.left=72
format.perPageContentInsets.right=72
printController.printFormatter=格式
printController.present(动画:true,completionHandler:nil)
}