// // PDFViewController.swift // Befund // // Created by Irakli Abetschkhrischwili on 28.05.22. // Copyright © 2022 MVZ Dr. Stein und Kollegen. All rights reserved. import UIKit import PDFKit class PDFViewController: UIViewController, PDFViewDelegate { @IBOutlet weak var LBL_MY_RESULTS: UILabel! @IBOutlet weak var PDFViewerArea: UIView! private var PDFViewer: PDFView! private var PDFData: Data? = nil private var currentPdfDoc: PDFDocument? = nil //@IBOutlet weak var LBL_BACK: UILabel! @IBOutlet weak var mainBtnBack: UIButton! @IBOutlet weak var mainBtnMenu: UIButton! @IBOutlet weak var popupOverlay: UIView! @IBOutlet weak var popupContent: UIView! @IBOutlet weak var popupBtnPrint: UIButton! @IBOutlet weak var popupBtnShare: UIButton! @IBOutlet weak var popupBtnBack: UIButton! override func viewDidLoad() { super.viewDidLoad() self.PDFViewer = PDFView(frame: self.PDFViewerArea.bounds) self.PDFViewerArea.addSubview(self.PDFViewer) self.PDFViewer.sizeToFit() self.PDFViewer.autoScales = true self.PDFViewer.displayDirection = .horizontal self.PDFViewer.delegate = self //self.LBL_BACK.text = Core.Lang.Get(key: "BTN_BACK") self.LBL_MY_RESULTS.text = Core.Lang.Get(key: "BTN_MY_RESULT") if(self.PDFData != nil) { self.currentPdfDoc = PDFDocument(data: self.PDFData!) self.PDFViewer.document = self.currentPdfDoc } self.popupOverlay.frame = self.view.frame self.view.addSubview(self.popupOverlay) self.popupOverlay.isHidden = true } override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) self.InitLabels() } private func InitLabels() { self.LBL_MY_RESULTS.text = Core.Lang.Get(key: "BTN_MY_RESULT") //self.LBL_BACK.text = Core.Lang.Get(key: "BTN_BACK") self.popupBtnPrint.setTitle(Core.Lang.Get(key: "BTN_PRINT"), for: .normal) self.popupBtnShare.setTitle(Core.Lang.Get(key: "BTN_FILE_SHARE"), for: .normal) self.popupBtnBack.setTitle(Core.Lang.Get(key: "BTN_BACK"), for: .normal) } public func setContent(data: Data) { self.PDFData = data } @IBAction func goBack(_ sender: Any) { let transition = CATransition() transition.duration = 0.25 transition.type = .push transition.subtype = .fromLeft self.view.window!.layer.add(transition, forKey: kCATransition) self.dismiss(animated: false) } @IBAction func PopupMenuShow(_ sender: Any) { self.popupContent.transform = CGAffineTransform(scaleX: 0.1, y: 0.1) self.popupOverlay.alpha = 0.0 self.popupOverlay.isHidden = false UIView.animate(withDuration: 0.24) { self.popupContent.transform = CGAffineTransform.identity self.popupOverlay.alpha = 70.0 } } @IBAction func PopupMenuHide(_ sender: Any) { UIView.animate(withDuration: 0.24, animations: { self.popupOverlay.alpha = 0.0 self.popupContent.transform = CGAffineTransform(scaleX: 0.1, y: 0.1) }) {_ in self.popupOverlay.isHidden = true } } @IBAction func PrintButtonClick(_ sender: Any) { if(self.PDFViewer != nil) { let printController = UIPrintInteractionController.shared let printInfo = UIPrintInfo(dictionary: nil) printInfo.jobName = "Befunddruck" printInfo.outputType = .photo printController.printInfo = printInfo printController.printingItem = self.PDFData printController.present(animated: true) { (_, isPrinted, error) in if(error != nil) { Core.Log.Error(err: error!, namespace: "PDFViewController", method: "PrintButtonClick") } } } } @IBAction func ShareButtonClick(_ sender: Any) { //var filesToShare = [Any]() //filesToShare.append(self.currentPdfDoc) if let pdfData = self.currentPdfDoc?.dataRepresentation() { let objectsToShare = [pdfData] let activityViewController = UIActivityViewController(activityItems: objectsToShare, applicationActivities: nil) activityViewController.popoverPresentationController?.sourceView = self.view present(activityViewController, animated: true, completion: nil) } } }