|
@@ -32,16 +32,47 @@ class KMPrintPreviewView: KMBaseXibView {
|
|
private lazy var presenter: KMPrintPreviewPresenter = KMPrintPreviewPresenter()
|
|
private lazy var presenter: KMPrintPreviewPresenter = KMPrintPreviewPresenter()
|
|
var pdfDocument: CPDFDocument? {
|
|
var pdfDocument: CPDFDocument? {
|
|
didSet {
|
|
didSet {
|
|
- 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 {
|
|
|
|
-
|
|
|
|
|
|
+
|
|
|
|
+ if self.previewView.document != nil {
|
|
|
|
+ self.previewView.needsDisplay = true
|
|
|
|
+ self.reloadData()
|
|
} else {
|
|
} else {
|
|
- self.presenter.initPresenter(delegate: self, view: self.previewView)
|
|
|
|
|
|
+
|
|
|
|
+ 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()
|
|
}
|
|
}
|
|
- self.reloadData()
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|