|
@@ -32,48 +32,60 @@ class KMPrintPreviewView: KMBaseXibView {
|
|
private lazy var presenter: KMPrintPreviewPresenter = KMPrintPreviewPresenter()
|
|
private lazy var presenter: KMPrintPreviewPresenter = KMPrintPreviewPresenter()
|
|
var pdfDocument: CPDFDocument? {
|
|
var pdfDocument: CPDFDocument? {
|
|
didSet {
|
|
didSet {
|
|
-
|
|
|
|
- if self.previewView.document != nil {
|
|
|
|
- self.previewView.needsDisplay = true
|
|
|
|
- self.reloadData()
|
|
|
|
- } else {
|
|
|
|
-
|
|
|
|
- var pdfDocument2 = PDFDocument(url: pdfDocument!.documentURL)
|
|
|
|
- var tempDocument = PDFDocument()
|
|
|
|
|
|
+ self.previewView.document = PDFDocument(url: pdfDocument!.documentURL)
|
|
|
|
+ self.previewView.autoScales = true
|
|
|
|
+ self.previewView.displayMode = .singlePage
|
|
|
|
+ self.previewView.documentView?.enclosingScrollView?.scrollerStyle = .overlay
|
|
|
|
+ if model?.page.operation.type == .poster {
|
|
|
|
|
|
- var pages: [PDFPage] = []
|
|
|
|
- for i in 0..<pdfDocument2!.pageCount {
|
|
|
|
- let page: PDFPage = (pdfDocument2?.page(at: i))!
|
|
|
|
- pages.append(page)
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- for i in 0..<pdfDocument2!.pageCount {
|
|
|
|
- let tempPage: PDFPage = pages[i]
|
|
|
|
- let page = KMPrintPage()
|
|
|
|
- page.pages = pages
|
|
|
|
- page.page = pages[i]
|
|
|
|
- page.data = model
|
|
|
|
- page.drawBlock = { box, context, pages, page, data in
|
|
|
|
- KMPrintPresenter.drawPage(context: context, page: page, model: data)
|
|
|
|
- }
|
|
|
|
- page.setBounds(tempPage.bounds(for: .cropBox), for: .cropBox)
|
|
|
|
- tempDocument.insert(page, at: Int(i))
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- self.previewView.document = tempDocument
|
|
|
|
- self.previewView.autoScales = true
|
|
|
|
- self.previewView.displayMode = .singlePage
|
|
|
|
- self.previewView.documentView?.enclosingScrollView?.scrollerStyle = .overlay
|
|
|
|
- if model?.page.operation.type == .poster {
|
|
|
|
-
|
|
|
|
- } else {
|
|
|
|
- self.presenter.initPresenter(delegate: self, view: self.previewView)
|
|
|
|
- }
|
|
|
|
- self.previewView.needsDisplay = true
|
|
|
|
- self.reloadData()
|
|
|
|
|
|
+ } else {
|
|
|
|
+ self.presenter.initPresenter(delegate: self, view: self.previewView)
|
|
}
|
|
}
|
|
|
|
+ self.reloadData()
|
|
}
|
|
}
|
|
|
|
+// didSet {
|
|
|
|
+//
|
|
|
|
+// if self.previewView.document != nil {
|
|
|
|
+// self.previewView.needsDisplay = true
|
|
|
|
+// self.reloadData()
|
|
|
|
+// } else {
|
|
|
|
+//
|
|
|
|
+// var pdfDocument2 = PDFDocument(url: pdfDocument!.documentURL)
|
|
|
|
+// var tempDocument = PDFDocument()
|
|
|
|
+//
|
|
|
|
+// var pages: [PDFPage] = []
|
|
|
|
+// for i in 0..<pdfDocument2!.pageCount {
|
|
|
|
+// let page: PDFPage = (pdfDocument2?.page(at: i))!
|
|
|
|
+// pages.append(page)
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+// for i in 0..<pdfDocument2!.pageCount {
|
|
|
|
+// let tempPage: PDFPage = pages[i]
|
|
|
|
+// let page = KMPrintPage()
|
|
|
|
+// page.pages = pages
|
|
|
|
+// page.page = pages[i]
|
|
|
|
+// page.data = model
|
|
|
|
+// page.drawBlock = { box, context, pages, page, data in
|
|
|
|
+// KMPrintPresenter.drawPage(context: context, page: page, model: data)
|
|
|
|
+// }
|
|
|
|
+// page.setBounds(tempPage.bounds(for: .cropBox), for: .cropBox)
|
|
|
|
+// tempDocument.insert(page, at: Int(i))
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+//
|
|
|
|
+// self.previewView.document = tempDocument
|
|
|
|
+// self.previewView.autoScales = true
|
|
|
|
+// self.previewView.displayMode = .singlePage
|
|
|
|
+// self.previewView.documentView?.enclosingScrollView?.scrollerStyle = .overlay
|
|
|
|
+// if model?.page.operation.type == .poster {
|
|
|
|
+//
|
|
|
|
+// } else {
|
|
|
|
+// self.presenter.initPresenter(delegate: self, view: self.previewView)
|
|
|
|
+// }
|
|
|
|
+// self.previewView.needsDisplay = true
|
|
|
|
+// self.reloadData()
|
|
|
|
+// }
|
|
|
|
+// }
|
|
}
|
|
}
|
|
|
|
|
|
deinit {
|
|
deinit {
|
|
@@ -135,7 +147,7 @@ class KMPrintPreviewView: KMBaseXibView {
|
|
|
|
|
|
let page = self.previewView.currentPage
|
|
let page = self.previewView.currentPage
|
|
let size = model.paper.info.size
|
|
let size = model.paper.info.size
|
|
- let pageIndex = self.previewView.document?.index(for: page!)
|
|
|
|
|
|
+ let pageIndex = self.previewView.document?.index(for: page ?? PDFPage())
|
|
self.currentPageTextField.stringValue = (pageIndex! + 1).description
|
|
self.currentPageTextField.stringValue = (pageIndex! + 1).description
|
|
self.pageCountLabel.stringValue = (self.previewView.document?.pageCount.description)!
|
|
self.pageCountLabel.stringValue = (self.previewView.document?.pageCount.description)!
|
|
|
|
|