|
@@ -23,6 +23,7 @@ class KMPrintPreviewView: KMBaseXibView {
|
|
|
@IBOutlet weak var partitionLabel: NSTextField!
|
|
|
|
|
|
var isPrintPreView: Bool = true
|
|
|
+ var reversePrintOrder: Bool = false
|
|
|
var password: String = ""
|
|
|
var model: KMPrintModel? {
|
|
|
didSet {
|
|
@@ -39,7 +40,8 @@ class KMPrintPreviewView: KMBaseXibView {
|
|
|
self.previewView.displayMode = .singlePage
|
|
|
self.previewView.documentView?.enclosingScrollView?.scrollerStyle = .overlay
|
|
|
if model?.page.operation.type == .poster {
|
|
|
- self.presenter.pdfView = self.previewView
|
|
|
+// self.presenter.pdfView = self.previewView
|
|
|
+ self.presenter.initPresenter(delegate: self, view: self.previewView)
|
|
|
} else {
|
|
|
self.presenter.initPresenter(delegate: self, view: self.previewView)
|
|
|
}
|
|
@@ -110,7 +112,7 @@ class KMPrintPreviewView: KMBaseXibView {
|
|
|
self.currentPageTextField.textField.font = NSFont.SFProTextRegularFont(12.0)
|
|
|
// self.currentPageTextField.textField.textColor = NSColor.km_init(hex: "#252629")
|
|
|
self.currentPageTextField.textDidEndEditing = {[unowned self] (string) in
|
|
|
- self.presenter.toPage(index: Int(string) ?? 0)
|
|
|
+ self.presenter.toPage(index: max((Int(string) ?? 0) - 1, 0))
|
|
|
}
|
|
|
|
|
|
// self.partitionLabel.textColor = NSColor.km_init(hex: "#252629")
|
|
@@ -231,6 +233,26 @@ extension KMPrintPreviewView {
|
|
|
// self.posterPreView.spaceHeight = spaceHeight
|
|
|
self.posterPreView.scale = 1
|
|
|
self.posterPreView.needsDisplay = true
|
|
|
+
|
|
|
+ if model.page.range.reversePrintOrder != reversePrintOrder {
|
|
|
+ reversePrintOrder = model.page.range.reversePrintOrder
|
|
|
+// guard let url = self.previewView.document?.documentURL else { return }
|
|
|
+ guard let pdfDocument = self.previewView.document else { return }
|
|
|
+
|
|
|
+// if model.page.range.reversePrintOrder {
|
|
|
+ // 逆序排列页面
|
|
|
+ let pageCount = pdfDocument.pageCount
|
|
|
+ let reversedPDFDocument = PDFDocument()
|
|
|
+ for pageIndex in (0..<pageCount).reversed() {
|
|
|
+ if let page = pdfDocument.page(at: pageIndex) {
|
|
|
+ reversedPDFDocument.insert(page, at: reversedPDFDocument.pageCount)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ self.previewView.document = reversedPDFDocument
|
|
|
+// } else {
|
|
|
+// self.previewView.document = pdfDocument
|
|
|
+// }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|