Procházet zdrojové kódy

【2025】【Edit】编辑模块处理

niehaoyu před 3 dny
rodič
revize
1a1cea14ba

+ 140 - 0
PDF Office/PDF Master/Class/PDFWindowController/PDFListView/CPDFListViewExtension/CPDFListView+Edit.swift

@@ -259,6 +259,18 @@ extension CPDFListView {
         }
     }
     
+    func rotateEditingAreas(_ rotate: CGFloat) {
+        let areas = self.km_editingImageAreas()
+        for area in areas {
+            let oldRotate = self.getRotateWith(area)
+            let rotate2 = rotate
+            let offset = rotate2-oldRotate
+            if offset != 0 {
+                self.rotate(with: area, rotate: offset)
+            }
+        }
+    }
+    
     func reverseXAction() {
         let areas = self.km_editingImageAreas()
         for area in areas {
@@ -280,4 +292,132 @@ extension CPDFListView {
         }
     }
  
+    //MARK: -Exprot 导出
+    func exportEditingImageAreasAction(format: String) {
+        let areas = self.km_editingImageAreas()
+        if areas.isEmpty {
+            return
+        }
+        if areas.count == 1 {
+            if ["pdf"].contains(format) {
+                guard let image = areas.first?.thumbnailImage else {
+                    NSSound.beep()
+                    return
+                }
+                let pdfdocument = CPDFDocument()
+                pdfdocument?.km_insert(image: image, at: 0)
+                let savePanel = NSSavePanel()
+                savePanel.allowedFileTypes = ["pdf"]
+                savePanel.beginSheetModal(for: self.window!) { response in
+                    if (response != .OK) {
+                        return
+                    }
+                    if let data = pdfdocument?.write(to: savePanel.url!), data {
+                        NSWorkspace.shared.selectFile(savePanel.url?.path, inFileViewerRootedAtPath: "");
+                    }
+                }
+                return
+            }
+            let panel = NSSavePanel()
+            panel.nameFieldStringValue = "\(NSLocalizedString("Untitled", comment: "")).\(format)"
+            panel.isExtensionHidden = true
+            panel.beginSheetModal(for: self.window!) { response in
+                if response == .OK {
+                    let url = panel.url
+                    if FileManager.default.fileExists(atPath: url!.path) {
+                        try?FileManager.default.removeItem(atPath: url!.path)
+                    }
+                    let result = self.extractImage(with: areas.first, toImagePath: url!.path)
+                    if result {
+                        NSWorkspace.shared.activateFileViewerSelecting([url!])
+                    }
+                }
+            }
+        } else if areas.count > 1 {
+//            let panel = NSOpenPanel()
+//            panel.canChooseFiles = false
+//            panel.canChooseDirectories = true
+//            panel.canCreateDirectories = true
+//            panel.allowsMultipleSelection = false
+//            panel.beginSheetModal(for: NSApp.mainWindow!) { response in
+//                if response == .OK {
+//                    let outputURL = panel.url
+//                    let s = self.listView?.document?.documentURL.lastPathComponent
+//                    let folderPath = (self.listView?.document?.documentURL.deletingPathExtension().lastPathComponent ?? "") + "_extract"
+//                    var filePath = outputURL?.path.stringByAppendingPathComponent(folderPath)
+//                    
+//                    var i = 1
+//                    let testFilePath = filePath
+//                    while FileManager.default.fileExists(atPath: filePath!) {
+//                        filePath = testFilePath! + "\(i)"
+//                        i = i + 1
+//                    }
+//                    try? FileManager.default.createDirectory(atPath: filePath!, withIntermediateDirectories: false, attributes: nil)
+//                    var saveURLs : [URL] = []
+//                    let pageIndex = self.listView?.currentPageIndex ?? 0
+//                    for j in 0 ..< areas.count {
+//                        let documentFileName = self.listView?.document?.documentURL.deletingPathExtension().lastPathComponent ?? ""
+//                        var outPath = filePath!
+//                        outPath = outPath.stringByAppendingPathComponent(documentFileName)
+//                        outPath = outPath + "_page\(pageIndex+1)_\(j+1)"
+//                        outPath = outPath.stringByAppendingPathExtension(format)
+//                        if KMTools.isPDFType(format) {
+//                            if let image = areas[j].thumbnailImage {
+//                                let pdfdocument = CPDFDocument()
+//                                pdfdocument?.km_insert(image: image, at: 0)
+//                                let suc = pdfdocument?.write(toFile: outPath) ?? false
+//                                if suc {
+//                                    saveURLs.append(URL(fileURLWithPath: outPath))
+//                                }
+//                            }
+//                        } else {
+//                            let result = self.listView?.extractImage(with: areas[j], toImagePath: outPath) ?? false
+//                            if result {
+//                                saveURLs.append(URL(fileURLWithPath: outPath))
+//                            }
+//                        }
+//                    }
+//                    NSWorkspace.shared.activateFileViewerSelecting(saveURLs)
+//                }
+//            }
+        }
+    }
+    
+    //MARK: -Crop裁剪
+    func cropAction() {
+        let areas = self.km_editingImageAreas()
+        if areas.isEmpty {
+            return
+        }
+        self.isEditImage = true
+        for area in areas {
+            self.enterCrop(with: area)
+        }
+        
+        self.window?.makeFirstResponder(self)
+    }
+    
+    func cropCancelAction() {
+        let areas = self.km_editingImageAreas()
+        if areas.isEmpty {
+            return
+        }
+        
+        for area in areas {
+            self.exitCrop(with: area)
+        }
+        
+        self.cropAreas = nil
+        self.isEditImage = false
+    }
+    
+    func cropComfirmAction() {
+        let selectImageAreas = self.km_editingImageAreas()
+        if selectImageAreas.isEmpty {
+            self.cropCancelAction()
+            return
+        }
+        self.cropEditImageArea(selectImageAreas.first, withBounds: self.cropAreas.cropRect ?? .zero)
+        self.cropCancelAction()
+    }
 }

+ 12 - 8
PDF Office/PDF Master/KMClass/KMPDFViewController/KMMainViewController.swift

@@ -1983,39 +1983,43 @@ extension KMMainViewController: CPDFViewDelegate,CPDFListViewDelegate {
     func pdfViewEditingAreaDidChanged(_ pdfView: CPDFView!) {
         //编辑模块变化
         rightSideController?.reloadDataWithPDFView(pdfView: (pdfView as! CPDFListView))
+       
+        if pdfView is CPDFListView {
+            (pdfView as! CPDFListView).isEditImage = false
+        }
     }
     
     func pdfViewEditingCropBoundsDidChanged(_ pdfView: CPDFView!, editing editArea: CPDFEditArea!) {
-        self.editPDFHanddler?.pdfViewEditingCropBoundsDidChanged(pdfView, editing: editArea)
+
     }
     
     //编辑PDF 创建图片区域回调
     func pdfViewEditingAddImageArea(_ pdfView: CPDFView!, add page: CPDFPage!, add rect: CGRect) {
-        self.editPDFHanddler?.pdfViewEditingAddImageArea(pdfView, add: page, add: rect)
+
     }
     
     func pdfViewEditingAddTextArea(_ pdfView: CPDFView!, add page: CPDFPage!, add rect: CGRect) {
-        self.editPDFHanddler?.pdfViewEditingAddTextArea(pdfView, add: page, add: rect)
+
     }
     
     func pdfViewMobileEditingBegan(_ point: CGPoint, for pdfView: CPDFView!, forEditing editingAreas: [CPDFEditArea]!) {
-        self.editPDFHanddler?.pdfViewMobileEditingBegan(point, for: pdfView, forEditing: editingAreas)
+
     }
     
     func pdfViewMobileEditingMove(_ point: CGPoint, for pdfView: CPDFView!, forEditing editingAreas: [CPDFEditArea]!) {
-        self.editPDFHanddler?.pdfViewMobileEditingMove(point, for: pdfView, forEditing: editingAreas)
+
     }
     
     func pdfViewMobileEditingEnd(_ point: CGPoint, for pdfView: CPDFView!, forEditing editingAreas: [CPDFEditArea]!) {
-        self.editPDFHanddler?.pdfViewMobileEditingEnd(point, for: pdfView, forEditing: editingAreas)
+
     }
     
     func pdfViewEditingSelectCharDidChanged(_ pdfView: CPDFView!) {
-        self.editPDFHanddler?.pdfViewEditingSelectCharDidChanged(pdfView)
+    
     }
     
     func pdfViewEditingExitCropMode(_ pdfView: CPDFView!, forEditing editingArea: CPDFEditImageArea!) {
-        self.editPDFHanddler?.pdfViewEditingExitCropMode(pdfView, forEditing: editingArea)
+
     }
     
     func pdfListViewKeyDownIsContinue(_ pdfListView: CPDFListView!, theEvent: NSEvent!) -> Bool {

+ 88 - 3
PDF Office/PDF Master/KMClass/KMPDFViewController/RightSideController/Views/EditPDF/KMEditImageController.swift

@@ -37,6 +37,8 @@ class KMEditImageController: NSViewController {
     @IBOutlet var replaceButton: ComponentButton!
     @IBOutlet var ExtrackButton: ComponentButton!
     
+    private var groupView: ComponentGroup!
+    
     var pdfView: CPDFListView? {
         didSet {
             reloadData()
@@ -198,12 +200,19 @@ class KMEditImageController: NSViewController {
                 if rotates.count > 0 {
                     var rotate = rotates.first ?? 1
                     
-                    rotateSelect.properties.text = String(format: "%.0f", rotate)
+                    rotateSelect.properties.text = String(format: "%.0f%@", rotate, "°")
                     rotateSelect.reloadData()
                      
                 }
             }
             
+            if pdfView?.isEditImage == true {
+                cropButton.properties.buttonText = KMLocalizedString("Cancel Crop")
+            } else {
+                cropButton.properties.buttonText = KMLocalizedString("Crop")
+            }
+            cropButton.reloadData()
+            
         }
         
         
@@ -222,16 +231,59 @@ class KMEditImageController: NSViewController {
         } else if sender == flipHorizontalButton {
             self.pdfView?.reverseXAction()
         } else if sender == cropButton {
+            if pdfView?.isEditImage == true {
+                pdfView?.cropCancelAction()
+            } else {
+                pdfView?.cropAction()
+            }
             
         } else if sender == replaceButton {
-            
+            if let areas = self.pdfView?.km_editingImageAreas() {
+                let panel = NSOpenPanel()
+                panel.allowsMultipleSelection = false
+                panel.allowedFileTypes = ["png","jpg"]
+                panel.beginSheetModal(for: NSApp.mainWindow!) { response in
+                    if response == .OK {
+                        let openPath = panel.url?.path
+                        for area in areas {
+                            self.pdfView?.replace(area, imagePath: openPath!)
+                        }
+                    }
+                }
+            }
         } else if sender == ExtrackButton {
-            
+            extractAction()
         }
         
         reloadData()
     }
     
+    func extractAction() {
+        var menuItemArr: [ComponentMenuitemProperty] = []
+        let items: [(String, String)] = [("jpg", "export_jpg_Key"),
+                                         ("png", "export_png_Key"),
+                                         ("pdf", "export_pdf_Key")]
+        
+        for (i, value) in items {
+            let properties_Menuitem: ComponentMenuitemProperty = ComponentMenuitemProperty(multipleSelect: false,
+                                                                                           itemSelected: false,
+                                                                                           isDisabled: false,
+                                                                                           keyEquivalent: nil,
+                                                                                           text: KMLocalizedString(i),
+                                                                                           identifier: value)
+            menuItemArr.append(properties_Menuitem)
+        }
+        
+        if groupView == nil {
+            groupView = ComponentGroup.createFromNib(in: ComponentLibrary.shared.componentBundle())
+        }
+        groupView.groupDelegate = self
+        groupView?.frame = CGRectMake(0, 0, ExtrackButton.frame.size.width, 36*3+8)
+        groupView.updateGroupInfo(menuItemArr)
+        if let point: CGPoint = ExtrackButton.superview?.convert(ExtrackButton.frame.origin, to: self.view.window?.contentView) {
+            groupView.showWithPoint(CGPoint(x: point.x, y: point.y - CGRectGetHeight(groupView.frame)-4), relativeTo: self.view)
+        }
+    }
     
     //MARK: - MouseEvent
     override func mouseDown(with event: NSEvent) {
@@ -253,6 +305,15 @@ extension KMEditImageController: ComponentSelectDelegate {
                 
                 pdfView?.setEditingAreasOpacity(opacity)
                 
+                reloadData()
+            }
+        } else if view == rotateSelect {
+            if let text = rotateSelect.properties.text {
+                let result = text.stringByDeleteCharString("°")
+                let value = result.stringToCGFloat()
+                
+                pdfView?.rotateEditingAreas(value)
+                
                 reloadData()
             }
         }
@@ -266,6 +327,15 @@ extension KMEditImageController: ComponentSelectDelegate {
                 
                 pdfView?.setEditingAreasOpacity(opacity)
                 
+                reloadData()
+            }
+        } else if view == rotateSelect {
+            if let text = rotateSelect.properties.text {
+                let result = text.stringByDeleteCharString("°")
+                let value = result.stringToCGFloat()
+                
+                pdfView?.rotateEditingAreas(value)
+                
                 reloadData()
             }
         }
@@ -289,3 +359,18 @@ extension KMEditImageController: ComponentSliderDelegate {
     }
 }
 
+
+//MARK: - ComponentGroupDelegate
+extension KMEditImageController: ComponentGroupDelegate {
+    func componentGroupDidSelect(group: ComponentGroup?, menuItemProperty: ComponentMenuitemProperty?) {
+        if menuItemProperty?.identifier == "export_jpg_Key" {
+            pdfView?.exportEditingImageAreasAction(format: "jpg")
+        } else if menuItemProperty?.identifier == "export_png_Key" {
+            pdfView?.exportEditingImageAreasAction(format: "png")
+        } else if menuItemProperty?.identifier == "export_pdf_Key" {
+            pdfView?.exportEditingImageAreasAction(format: "pdf")
+        }
+        
+    }
+    
+}

+ 2 - 2
PDF Office/PDF Master/KMClass/KMPDFViewController/RightSideController/Views/EditPDF/KMEditImageController.xib

@@ -8,7 +8,7 @@
     <objects>
         <customObject id="-2" userLabel="File's Owner" customClass="KMEditImageController" customModule="PDF_Reader_Pro" customModuleProvider="target">
             <connections>
-                <outlet property="ExtrackButton" destination="UTd-IX-9gP" id="tqd-JT-qTT"/>
+                <outlet property="ExtrackButton" destination="CkA-vp-ac0" id="IOn-Jb-qIk"/>
                 <outlet property="contendView" destination="5d4-9i-VqM" id="Zz9-Aa-SrJ"/>
                 <outlet property="cropButton" destination="V5t-7B-Xe1" id="kBN-y7-R9f"/>
                 <outlet property="flipHorizontalButton" destination="JYo-PF-eR4" id="vQO-zY-WrV"/>
@@ -17,7 +17,7 @@
                 <outlet property="opacityLabel" destination="nL4-oY-ZBk" id="oHO-6h-nNQ"/>
                 <outlet property="opacitySelect" destination="AMT-VE-5Un" id="zen-0z-0qw"/>
                 <outlet property="opacitySlider" destination="IDn-kE-RRr" id="18H-ce-LnO"/>
-                <outlet property="replaceButton" destination="CkA-vp-ac0" id="iTk-Og-eap"/>
+                <outlet property="replaceButton" destination="UTd-IX-9gP" id="HBM-XI-K3S"/>
                 <outlet property="rotateBGView" destination="pRo-Pb-Vwc" id="gFr-oj-DXe"/>
                 <outlet property="rotateLabel" destination="yEz-sB-7uR" id="vJ1-hY-uWe"/>
                 <outlet property="rotateLeftButton" destination="Y8Z-Yy-5Ef" id="q1M-Rj-lyl"/>

+ 1 - 1
PDF Office/PDF Master/KMClass/KMPDFViewController/RightSideController/Views/EditPDF/Manager/KMEditPDfHanddler.swift

@@ -210,7 +210,7 @@ class KMEditPDfHanddler: NSObject {
             } else if itemKey == .crop {
                 self?.cropAction()
             } else if itemKey == .replace {
-                self?.replaceAction()
+           
             } else if itemKey == .export {
                 if let data = obj as? NSView {
                     self?.showExportMenu(data)

+ 12 - 156
PDF Office/PDF Reader Pro.xcodeproj/xcuserdata/kdanmobile.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -2996,38 +2996,6 @@
             </Locations>
          </BreakpointContent>
       </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "E378A308-C290-4212-B943-EEEBCA0494B1"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "PDF Master/KMClass/KMPDFViewController/RightSideController/Views/EditPDF/Manager/KMEditPDfHanddler.swift"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "1284"
-            endingLineNumber = "1284"
-            landmarkName = "pdfViewEditingCropBoundsDidChanged(_:editing:)"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "80647B90-A0DE-42AE-91B7-367037BDCED6"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "PDF Master/KMClass/KMPDFViewController/RightSideController/Views/EditPDF/Manager/KMEditPDfHanddler.swift"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "1290"
-            endingLineNumber = "1290"
-            landmarkName = "pdfViewEditingAddImageArea(_:add:add:)"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
@@ -3044,102 +3012,6 @@
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "8516B689-DE97-4681-8B1F-48328CDD5975"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "PDF Master/KMClass/KMPDFViewController/KMMainViewController.swift"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "1989"
-            endingLineNumber = "1989"
-            landmarkName = "pdfViewEditingCropBoundsDidChanged(_:editing:)"
-            landmarkType = "7">
-            <Locations>
-               <Location
-                  uuid = "8516B689-DE97-4681-8B1F-48328CDD5975 - 4f3bbbeae86e63dc"
-                  shouldBeEnabled = "Yes"
-                  ignoreCount = "0"
-                  continueAfterRunningActions = "No"
-                  symbolName = "PDF_Reader_Pro.KMMainViewController.pdfViewEditingCropBoundsDidChanged(_: Swift.Optional&lt;__C.CPDFView&gt;, editing: Swift.Optional&lt;__C.CPDFEditArea&gt;) -&gt; ()"
-                  moduleName = "PDF Reader Pro"
-                  usesParentBreakpointCondition = "Yes"
-                  urlString = "file:///Users/kdanmobile/Documents/Git/PDF_Office/PDF%20Office/PDF%20Master/KMClass/KMPDFViewController/KMMainViewController.swift"
-                  startingColumnNumber = "9223372036854775807"
-                  endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "1989"
-                  endingLineNumber = "1989"
-                  offsetFromSymbolStart = "52">
-               </Location>
-               <Location
-                  uuid = "8516B689-DE97-4681-8B1F-48328CDD5975 - 4f3bbbeae86e63dc"
-                  shouldBeEnabled = "Yes"
-                  ignoreCount = "0"
-                  continueAfterRunningActions = "No"
-                  symbolName = "PDF_Reader_Pro.KMMainViewController.pdfViewEditingCropBoundsDidChanged(_: Swift.Optional&lt;__C.CPDFView&gt;, editing: Swift.Optional&lt;__C.CPDFEditArea&gt;) -&gt; ()"
-                  moduleName = "PDF Reader Pro"
-                  usesParentBreakpointCondition = "Yes"
-                  urlString = "file:///Users/kdanmobile/Documents/Git/PDF_Office/PDF%20Office/PDF%20Master/KMClass/KMPDFViewController/KMMainViewController.swift"
-                  startingColumnNumber = "9223372036854775807"
-                  endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "1989"
-                  endingLineNumber = "1989"
-                  offsetFromSymbolStart = "64">
-               </Location>
-            </Locations>
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "A7BE78A6-E828-4C4B-B7C6-B65EE0532C31"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "PDF Master/KMClass/KMPDFViewController/KMMainViewController.swift"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "1980"
-            endingLineNumber = "1980"
-            landmarkName = "pdfViewEditingSelectionDidChanged(_:)"
-            landmarkType = "7">
-            <Locations>
-               <Location
-                  uuid = "A7BE78A6-E828-4C4B-B7C6-B65EE0532C31 - ce71ce32deb2ca4"
-                  shouldBeEnabled = "Yes"
-                  ignoreCount = "0"
-                  continueAfterRunningActions = "No"
-                  symbolName = "PDF_Reader_Pro.KMMainViewController.pdfViewEditingSelectionDidChanged(Swift.Optional&lt;__C.CPDFView&gt;) -&gt; ()"
-                  moduleName = "PDF Reader Pro"
-                  usesParentBreakpointCondition = "Yes"
-                  urlString = "file:///Users/kdanmobile/Documents/Git/PDF_Office/PDF%20Office/PDF%20Master/KMClass/KMPDFViewController/KMMainViewController.swift"
-                  startingColumnNumber = "9223372036854775807"
-                  endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "1981"
-                  endingLineNumber = "1981"
-                  offsetFromSymbolStart = "52">
-               </Location>
-               <Location
-                  uuid = "A7BE78A6-E828-4C4B-B7C6-B65EE0532C31 - ce71ce32deb2c87"
-                  shouldBeEnabled = "Yes"
-                  ignoreCount = "0"
-                  continueAfterRunningActions = "No"
-                  symbolName = "PDF_Reader_Pro.KMMainViewController.pdfViewEditingSelectionDidChanged(Swift.Optional&lt;__C.CPDFView&gt;) -&gt; ()"
-                  moduleName = "PDF Reader Pro"
-                  usesParentBreakpointCondition = "Yes"
-                  urlString = "file:///Users/kdanmobile/Documents/Git/PDF_Office/PDF%20Office/PDF%20Master/KMClass/KMPDFViewController/KMMainViewController.swift"
-                  startingColumnNumber = "9223372036854775807"
-                  endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "1980"
-                  endingLineNumber = "1980"
-                  offsetFromSymbolStart = "52">
-               </Location>
-            </Locations>
-         </BreakpointContent>
-      </BreakpointProxy>
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
@@ -3351,64 +3223,48 @@
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
-            uuid = "CF32222A-BF19-408F-A3F8-3912399F45D5"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "PDF Master/KMClass/KMPDFViewController/RightSideController/Views/EditPDF/Manager/KMEditPDfHanddler.swift"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "826"
-            endingLineNumber = "826"
-            landmarkName = "cropCancelAction()"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "645EA040-7DF7-4AFB-BD25-19B4AC1601C3"
+            uuid = "E66FE5DD-FA48-4F70-86C7-A449FD63A805"
             shouldBeEnabled = "Yes"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "PDF Master/KMClass/KMPDFViewController/RightSideController/Views/EditPDF/Manager/KMEditPDfHanddler.swift"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "808"
-            endingLineNumber = "808"
-            landmarkName = "cropAction()"
+            startingLineNumber = "720"
+            endingLineNumber = "720"
+            landmarkName = "fontReduceAction()"
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
-            uuid = "E66FE5DD-FA48-4F70-86C7-A449FD63A805"
+            uuid = "57008429-A6A9-4227-A219-57EBDBC0732E"
             shouldBeEnabled = "Yes"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "PDF Master/KMClass/KMPDFViewController/RightSideController/Views/EditPDF/Manager/KMEditPDfHanddler.swift"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "720"
-            endingLineNumber = "720"
-            landmarkName = "fontReduceAction()"
+            startingLineNumber = "708"
+            endingLineNumber = "708"
+            landmarkName = "fontAddAction()"
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
-            uuid = "57008429-A6A9-4227-A219-57EBDBC0732E"
+            uuid = "621502D1-614B-4C36-A5B0-0DC61E2795DC"
             shouldBeEnabled = "Yes"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "PDF Master/KMClass/KMPDFViewController/RightSideController/Views/EditPDF/Manager/KMEditPDfHanddler.swift"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "708"
-            endingLineNumber = "708"
-            landmarkName = "fontAddAction()"
+            startingLineNumber = "1186"
+            endingLineNumber = "1186"
+            landmarkName = "pdfViewEditingAreaDidChanged(_:)"
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>