Ver Fonte

Merge branch 'develop_PDFReaderProNew' of git.kdan.cc:Mac_PDF/PDF_Office into develop_PDFReaderProNew

tangchao há 1 ano atrás
pai
commit
65d7a0fe2e

+ 2 - 2
PDF Office/PDF Master/Class/PDFTools/Print/KMPrintWindowController.swift

@@ -100,12 +100,12 @@ class KMPrintWindowController: NSWindowController, NetServiceBrowserDelegate {
         
         self.settingView.pageSettingChange = { [unowned self] view, model in
             self.chooseData = model
-//            self.presenter.printData = model
+            self.presenter.printData = model
         }
         
         self.settingView.printSettingChange = { [unowned self] view, model in
             self.chooseData = model
-//            self.presenter.printData = model
+            self.presenter.printData = model
         }
     }
     

+ 52 - 40
PDF Office/PDF Master/Class/PDFTools/Print/View/Preview/KMPrintPreviewView.swift

@@ -32,48 +32,60 @@ class KMPrintPreviewView: KMBaseXibView {
     private lazy var presenter: KMPrintPreviewPresenter = KMPrintPreviewPresenter()
     var pdfDocument: CPDFDocument? {
         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 {
@@ -135,7 +147,7 @@ class KMPrintPreviewView: KMBaseXibView {
             
             let page = self.previewView.currentPage
             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.pageCountLabel.stringValue = (self.previewView.document?.pageCount.description)!