Browse Source

【打印】小册子 - 缩放预览调试

lizhe 1 year ago
parent
commit
947e80f344

+ 1 - 0
PDF Office/PDF Master/Class/PDFTools/Print/Model/KMPrintPageModel.swift

@@ -207,6 +207,7 @@ struct KMPrintPageOperation {
         var pageIndex: Int = 1
         var toPageIndex: Int = 1
         var bookbindingType: BookbindingType = .left
+        var margin: CGFloat = 0.0
         
         enum PamphletType: String, CaseIterable {
             case doubleSided = "Double Sided" //双面

+ 7 - 0
PDF Office/PDF Master/Class/PDFTools/Print/Presenter/KMPrintPresenter.swift

@@ -375,6 +375,10 @@ extension KMPrintPresenter: KMPrintPresenterDocument {
                         if (data.page.operation.poster.type == .tile) {
                             scale = data.page.operation.poster.scale
                         }
+                    } else if (data.page.operation.type == .pamphlet) {
+                        let margin = data.page.operation.pamphlet.margin
+                        let tempSize = CGSizeMake((pageSize.width - margin) / 2, pageSize.height)
+                        scale = min(tempSize.width / pageSize.width, tempSize.height / pageSize.height)
                     }
 
                     //当前item的自身中心点
@@ -592,6 +596,9 @@ extension KMPrintPresenter: KMPrintPresenterPage {
         case .multipage:
             point.x = pageModel.operation.pageOfPaper.point.x
             point.y = pageModel.operation.pageOfPaper.point.y
+        case .pamphlet:
+            point.x = 1
+            point.y = 2
         default:
             point.x = 1
             point.y = 1