UIPrintInteractionController в ландшафте из WKWebview показывает серый экран предварительного просмотра - PullRequest
0 голосов
/ 25 сентября 2019

Мы используем следующий код для печати веб-страницы в альбомном режиме

 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, например,

print preview

Насколько я понимаю, мы можем использовать UIPrintInteractionController двумя способами: 1. использовать средство визуализации 2. использовать средство форматирования печати

оба способа дают одинаковое пустое изображение

пример кода: https://github.com/vinu-vanjari/landscape-air-print-bug

PS: попробуйте распечатать - отменить несколько раз, если вы не видите пустой предварительный просмотр при первом запуске

...