Мы используем следующий код для печати веб-страницы в альбомном режиме
func print(webView: WKWebView, useRenderer: Bool) {
let pic = UIPrintInteractionController.shared
if useRenderer {
let renderer = UIPrintPageRenderer()
renderer.addPrintFormatter(webView.viewPrintFormatter(), startingAtPageAt: 0)
pic.printPageRenderer = renderer
} else {
pic.printFormatter = webView.viewPrintFormatter()
}
let printInfo = UIPrintInfo.printInfo()
printInfo.orientation = .landscape
pic.printInfo = printInfo
pic.present(animated: true) { (controller, success, error) in
}
}
Используя приведенный выше код, мы иногда получаем пустой предварительный просмотр печати в UIPrintInteractionController
, например,
Насколько я понимаю, мы можем использовать UIPrintInteractionController двумя способами: 1. использовать средство визуализации 2. использовать средство форматирования печати
оба способа дают одинаковое пустое изображение
пример кода: https://github.com/vinu-vanjari/landscape-air-print-bug
PS: попробуйте распечатать - отменить несколько раз, если вы не видите пустой предварительный просмотр при первом запуске