如何在 swift 3 中使用 UIPrintInteractionController.print 设置要打印的页数?
Posted
技术标签:
【中文标题】如何在 swift 3 中使用 UIPrintInteractionController.print 设置要打印的页数?【英文标题】:How to set number of pages to print using UIPrintInteractionController.print in swift 3? 【发布时间】:2017-10-19 10:31:43 【问题描述】:我正在使用UIPrintInteractionController
将UIWebView
中的html 直接打印到AirPrint 打印机。我想告诉UIPrinter
,只打印第一页。我该怎么做?
这是我打印所有页面的代码:
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
代码应兼容 ios 9.0。
【问题讨论】:
【参考方案1】:您可以覆盖 UIPrintPageRenderer
中的 numberOfPages
属性。或者您可以将 UIPrintInteractionController
属性 showsPageRange
设置为 true。
如需更多参考,请使用此链接 - https://developer.apple.com/documentation/uikit/uiprintpagerenderer/1621631-numberofpages
【讨论】:
是的,但是使用打印方法我避免了对话框,所以在这种情况下该属性是无用的,对吧?以上是关于如何在 swift 3 中使用 UIPrintInteractionController.print 设置要打印的页数?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Swift 3 中使用 NSLocale 获取国家代码
如何在 Swift 3 中使用 UnsafeMutablePointer?
如何在 Swift 3.0 中使用 keysSortedByValue?
如何使用 Swift 3 在 UIView 中覆盖 requiresConstraintBasedLayout?