Печать PDF-файла в веб-представлении - PullRequest
0 голосов
/ 27 декабря 2018

Я хочу добавить печать Button в мое приложение для печати локальных pdf файлов.

Поэтому я добавил UIToolBar + UIBarButtonItem и связал его со своим следующим кодом:

@IBAction func printButton(_ sender: Any) {

    let printController = UIPrintInteractionController.shared

    let printInfo = UIPrintInfo(dictionary:nil)

    printInfo.outputType = UIPrintInfo.OutputType.general

    printInfo.jobName = (wkWebView.url?.absoluteString)!

    printInfo.duplex = UIPrintInfo.Duplex.none

    printInfo.orientation = UIPrintInfo.Orientation.portrait

    printController.printPageRenderer = nil

    printController.printingItems = nil

    printController.printingItem = wkWebView.url!

    printController.printInfo = printInfo

   // printController.showsPageRange = true

    printController.showsNumberOfCopies = true


    printController.presentFromBarButtonItem(printButton, animated: true, completionHandler: nil)

}

В последней строке я получаю это сообщение об ошибке:

Невозможнопреобразовать значение типа '(Any) -> ()' в ожидаемый тип аргумента 'UIBarButtonItem'

Я пробовал по-разному, но я застрял.Было бы здорово, если бы кто-то мог мне помочь.Я думаю, что это легко решить, но не сейчас для меня.

Ответы [ 2 ]

0 голосов
/ 27 декабря 2018

Вы должны передать аргумент в виде кнопки панели.Но вы передаете отправителю, который в данный момент является «Любым». Или используйте охрану, чтобы опустить его как кнопку бара, например

 guard let barButton = sender as? UIBarButtonItem else {
            print("not bar button")
            return
        }
 printController.presentFromBarButtonItem(barButton, animated: true, completionHandler: nil)

, или измените отправителя на

IBAction func printButton(_ sender: UIBarButtonItem)

 printController.presentFromBarButtonItem(sender, animated: true, completionHandler: nil)
0 голосов
/ 27 декабря 2018

Удалить действие, чем пытаться добавить действие с отправителем

IBAction func printButton(_ sender: Any) //instead  of
IBAction func printButton(_ sender: UIBarButtonItem)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...