David PHAM-VAN

Improve Apple orientation handling

... ... @@ -5,6 +5,7 @@
- Remove deprecated methods
- Document.save() now returns a Future
- Implement pan and zoom on PdfPreview widget
- Improve orientation handling
## 3.7.2
... ...
... ... @@ -27,6 +27,7 @@ public class PrintJob: UIPrintPageRenderer, UIPrintInteractionControllerDelegate
private var pdfDocument: CGPDFDocument?
private var urlObservation: NSKeyValueObservation?
private var jobName: String?
private var orientation: UIPrintInfo.Orientation?
public init(printing: PrintingPlugin, index: Int) {
self.printing = printing
... ... @@ -62,6 +63,10 @@ public class PrintJob: UIPrintPageRenderer, UIPrintInteractionControllerDelegate
let printInfo = UIPrintInfo.printInfo()
printInfo.jobName = jobName!
printInfo.outputType = .general
if orientation != nil {
printInfo.orientation = orientation!
orientation = nil
}
controller.printInfo = printInfo
controller.printPageRenderer = self
controller.present(animated: true, completionHandler: completionHandler)
... ... @@ -112,6 +117,10 @@ public class PrintJob: UIPrintPageRenderer, UIPrintInteractionControllerDelegate
return
}
if size.width > size.height {
orientation = UIPrintInfo.Orientation.landscape
}
jobName = name
self.printing.onLayout(
... ...
... ... @@ -80,12 +80,16 @@ public class PrintJob: NSView, NSSharingServicePickerDelegate {
public func directPrintPdf(name _: String, data _: Data, withPrinter _: String) {}
public func printPdf(name: String, withPageSize _: CGSize, andMargin _: CGRect) {
public func printPdf(name: String, withPageSize size: CGSize, andMargin _: CGRect) {
let sharedInfo = NSPrintInfo.shared
let sharedDict = sharedInfo.dictionary()
let printInfoDict = NSMutableDictionary(dictionary: sharedDict)
let printInfo = NSPrintInfo(dictionary: printInfoDict as! [NSPrintInfo.AttributeKey: Any])
if size.width > size.height {
printInfo.orientation = NSPrintInfo.PaperOrientation.landscape
}
// Print the custom view
printOperation = NSPrintOperation(view: self, printInfo: printInfo)
printOperation!.jobTitle = name
... ...