Browse Source

转档-转csv格式UI调整

tangchao 1 year ago
parent
commit
b94da6402f

+ 0 - 32
PDF Office/PDF Master.xcodeproj/xcuserdata/kdanmobile.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -692,37 +692,5 @@
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "96FF0BAE-03A6-4564-8E5E-6AE8AA30BDE4"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "PDF Master/Class/PDFTools/Convert/Common/KMPDFConvert.swift"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "75"
-            endingLineNumber = "75"
-            landmarkName = "pathExtension(_:)"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "38CA5288-0CE3-425B-A3B4-32F079D6203B"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "PDF Master/Class/PDFTools/Convert/Common/KMPDFConvert.swift"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "518"
-            endingLineNumber = "518"
-            landmarkName = "startConvert()"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
    </Breakpoints>
 </Bucket>

+ 3 - 3
PDF Office/PDF Master/Class/PDFTools/Convert/Common/KMPDFConvert.swift

@@ -344,14 +344,14 @@ class KMPDFConvertImage: KMPDFConvert {
         }
         
         if (self.convertType == .jpeg || self.convertType == .png) {
-            converter = CPDFConverterImg(url: URL(fileURLWithPath: filePath), password: self.password)
-            converter.delegate = self
+            self.converter = CPDFConverterImg(url: URL(fileURLWithPath: self.filePath), password: self.password)
+            self.converter.delegate = self
             let options = CPDFConvertImgOptions()
             options.type = self.imageType
             options.imageDpi = Int32(self.imageDpi)
             options.isContainAnnotations = true
             
-            converter.convert(toFilePath: outputFilePath, pageIndexs: pages, options: options)
+            self.converter.convert(toFilePath: self.outputFilePath, pageIndexs: self.pages, options: options)
             return
         }
                 

+ 0 - 2
PDF Office/PDF Master/Class/PDFTools/Convert/Controller/KMConvertBaseWindowController.xib

@@ -556,12 +556,10 @@
             </constraints>
             <connections>
                 <outlet property="dpiSelectBox" destination="gLw-Yq-V5x" id="WJd-eG-HHe"/>
-                <outlet property="dpiSelectVC" destination="gLw-Yq-V5x" id="yRA-2T-MRS"/>
                 <outlet property="dpiTitleLabel" destination="F2Q-wA-eBY" id="OEm-6a-ANu"/>
                 <outlet property="fileTypeTitleLabel" destination="Ezu-db-Vdi" id="BKC-bU-Xeh"/>
                 <outlet property="formatBox" destination="bdw-IP-gzr" id="g0c-Lu-e1t"/>
                 <outlet property="pageRangeBox" destination="X3f-Tt-Yj7" id="S9g-R8-qtP"/>
-                <outlet property="topBoxHeightConst" destination="v6N-X0-w3C" id="dp2-Io-elP"/>
             </connections>
             <point key="canvasLocation" x="118" y="839.5"/>
         </customView>

+ 38 - 28
PDF Office/PDF Master/Class/PDFTools/Convert/Controller/KMConvertCSVWindowController.swift

@@ -21,36 +21,46 @@ class KMConvertCSVWindowController: KMConvertBaseWindowController {
     override func windowDidLoad() {
         super.windowDidLoad()
 
-        titleLabel.stringValue = NSLocalizedString("PDF to CSV", comment: "")
-        let view = KMConvertCSVSettingView.createFromNib()
-        view?.frame = rightScrollView.bounds
-        view?.autoresizingMask = NSView.AutoresizingMask(rawValue: 18)
-        settingView = view
-        view!.tableSheetComboBox.isHidden = true
-        if let pageCount = self.prePDFView?.document.pageCount {
-            view?.pageCount = Int(pageCount)
-        }
         
-        view?.pageRangeDidChange = { [unowned self] pageRange in
-            self.pageRange = pageRange
-            if (pageRange != .custom) {
-                self.updatePreView(pageRange: pageRange)
-            }
-        }
-        view?.pageRangeDidInputFinishCallback = { [unowned self] string in
-            self.pageRangeString = string
-            let array = findSelectPage(pageRangeString: string)
-            if array.count == 0 {
-                let alert = NSAlert()
-                alert.alertStyle = .warning
-                alert.messageText = NSLocalizedString("Invalid page range or the page number is out of range. Please try again.", comment: "")
-                alert.runModal()
-            } else {
-                self.updatePreView(pageRange: .custom, pageString: string)
-            }
-        }
+//        let view = KMConvertCSVSettingView.createFromNib()
+//        view?.frame = rightScrollView.bounds
+//        view?.autoresizingMask = NSView.AutoresizingMask(rawValue: 18)
+//        settingView = view
+//        view!.tableSheetComboBox.isHidden = true
+//        if let pageCount = self.prePDFView?.document.pageCount {
+//            view?.pageCount = Int(pageCount)
+//        }
         
-        rightScrollView.documentView = view
+//        view?.pageRangeDidChange = { [unowned self] pageRange in
+//            self.pageRange = pageRange
+//            if (pageRange != .custom) {
+//                self.updatePreView(pageRange: pageRange)
+//            }
+//        }
+//        view?.pageRangeDidInputFinishCallback = { [unowned self] string in
+//            self.pageRangeString = string
+//            let array = findSelectPage(pageRangeString: string)
+//            if array.count == 0 {
+//                let alert = NSAlert()
+//                alert.alertStyle = .warning
+//                alert.messageText = NSLocalizedString("Invalid page range or the page number is out of range. Please try again.", comment: "")
+//                alert.runModal()
+//            } else {
+//                self.updatePreView(pageRange: .custom, pageString: string)
+//            }
+//        }
+        
+//        rightScrollView.documentView = view
+    }
+    
+    override func initDefaultValue() {
+        super.initDefaultValue()
+        
+        self.titleLabel.stringValue = NSLocalizedString("PDF to CSV", comment: "")
+    }
+    
+    override func initSettingView() -> KMConvertSettingView? {
+        return KMConvertCSVSettingView.createFromNib()
     }
     
     override func initConvert() -> KMPDFConvert {

+ 1 - 0
PDF Office/PDF Master/Class/PDFTools/Convert/Controller/KMConvertImageWindowController.swift

@@ -5,6 +5,7 @@
 //  Created by tangchao on 2022/12/6.
 //
 
+// 转档 转图片 窗口
 class KMConvertImageWindowController: KMConvertBaseWindowController {
     
     override func initDefaultValue() {

+ 13 - 55
PDF Office/PDF Master/Class/PDFTools/Convert/Controller/KMConvertPPTsWindowController.swift

@@ -7,6 +7,7 @@
 
 import Cocoa
 
+// 转档 [PPT、RTF、Text、HTML] 窗口
 class KMConvertPPTsWindowController: KMConvertBaseWindowController {
     
     override var fileExtension: String {
@@ -21,55 +22,23 @@ class KMConvertPPTsWindowController: KMConvertBaseWindowController {
         }
         return super.fileExtension
     }
-
-    override func windowDidLoad() {
-        super.windowDidLoad()
-
+    
+    override func initDefaultValue() {
+        super.initDefaultValue()
+        
         if (self.subType == 1) {
-            titleLabel.stringValue = NSLocalizedString("PDF to PPT", comment: "")
+            self.titleLabel.stringValue = NSLocalizedString("PDF to PPT", comment: "")
         } else if (self.subType == 2) {
-            titleLabel.stringValue = NSLocalizedString("PDF to RTF", comment: "")
+            self.titleLabel.stringValue = NSLocalizedString("PDF to RTF", comment: "")
         } else if (self.subType == 3) {
-            titleLabel.stringValue = NSLocalizedString("PDF to HTML", comment: "")
+            self.titleLabel.stringValue = NSLocalizedString("PDF to HTML", comment: "")
         } else if (self.subType == 4) {
-            titleLabel.stringValue = NSLocalizedString("PDF to Text", comment: "")
-        }
-        
-        let view = KMConvertPPTsSettingView.createFromNib()
-        view?.frame = rightScrollView.bounds
-        view?.autoresizingMask = NSView.AutoresizingMask(rawValue: 18)
-        settingView = view
-        view?.currentLanguage = getCurrentLanguage()
-        if let pageCount = self.prePDFView?.document.pageCount {
-            view?.pageCount = Int(pageCount)
-        }
-        view?.lanugageDidSelected = { [unowned self] value, _ in
-            guard let index = value as? Int else {
-                return
-            }
-            /// 存储用户的选择
-            saveLanugageSelectedIndex(index: index)
-        }
-        view?.pageRangeDidChange = { [unowned self] pageRange in
-            self.pageRange = pageRange
-            if (pageRange != .custom) {
-                self.updatePreView(pageRange: pageRange)
-            }
+            self.titleLabel.stringValue = NSLocalizedString("PDF to Text", comment: "")
         }
-        view?.pageRangeDidInputFinishCallback = { [unowned self] string in
-            self.pageRangeString = string
-            let array = findSelectPage(pageRangeString: string)
-            if array.count == 0 {
-                let alert = NSAlert()
-                alert.alertStyle = .warning
-                alert.messageText = NSLocalizedString("Invalid page range or the page number is out of range. Please try again.", comment: "")
-                alert.runModal()
-            } else {
-                self.updatePreView(pageRange: .custom, pageString: string)
-            }
-        }
-        
-        rightScrollView.documentView = view
+    }
+    
+    override func initSettingView() -> KMConvertSettingView? {
+        return KMConvertPPTsSettingView.createFromNib()
     }
     
     override func initConvert() -> KMPDFConvert {
@@ -84,15 +53,4 @@ class KMConvertPPTsWindowController: KMConvertBaseWindowController {
         }
         return super.initConvert()
     }
-    
-//    override func convertModelAppendParams(convert: KMPDFConvert) {
-//        super.convertModelAppendParams(convert: convert)
-        
-//        if (self.subType == 2) {
-//            convert.convertType = .rtf
-//        } else if (self.subType == 3) {
-//            convert.convertType = .html
-//        }
-//    }
-    
 }

+ 49 - 76
PDF Office/PDF Master/Class/PDFTools/Convert/View/KMConvertCSVSettingView.swift

@@ -18,70 +18,50 @@ class KMConvertCSVSettingView: KMConvertSettingView {
     var selectedSettingIndex: Int = 0
     var selectedTableFormatIndex: Int = 0
     
-    var onlyGetTableVC: KMDesignButton!
+    var onlyGetTableVC: KMDesignButton?
     
     override func awakeFromNib() {
         super.awakeFromNib()
-        onlyGetTableVC = KMDesignButton.init(withType: .CheckBox)
-        onlyGetTableBox.fillColor = .clear
-        onlyGetTableBox.contentView = onlyGetTableVC.view
+
+//        tableSheetComboBox.removeAllItems()
+//        tableSheetComboBox.addItems(withObjectValues: ["支持一个表格提取到单独的工作表","支持按页面提取表格到单独的工作表","支持将所有表格提取到一个工作表"])
+//        tableSheetComboBox.selectItem(at: 0)
+//        tableSheetComboBox.delegate = self
+    }
+    
+    override func initSubViews() {
+        super.initSubViews()
         
-        oneFileForPageComboBox.title = NSLocalizedString("Excel Worksheet Settings", comment: "")
-        oneFileForPageComboBox.font = .SFProTextSemibold(12)
-        oneFileForPageComboBox.setTitleColor(NSColor(hex: "#616469"))
-        onlyGetTableVC.stringValue = NSLocalizedString("Only Table", comment: "")
-        onlyGetTableVC.target = self
-        onlyGetTableVC.action = #selector(self.radioAction(sender:))
-        onlyGetTableVC.checkbox_radio()
+        self.oneFileForPageComboBox.title = NSLocalizedString("Excel Worksheet Settings", comment: "")
+        self.oneFileForPageComboBox.font = .SFProTextSemibold(12)
+        self.oneFileForPageComboBox.setTitleColor(NSColor(hex: "#616469"))
         
-        tableSheetComboBox.removeAllItems()
-        tableSheetComboBox.addItems(withObjectValues: ["支持一个表格提取到单独的工作表","支持按页面提取表格到单独的工作表","支持将所有表格提取到一个工作表"])
-        tableSheetComboBox.selectItem(at: 0)
-        tableSheetComboBox.delegate = self
+        self.onlyGetTableVC = KMDesignButton.init(withType: .CheckBox)
+        self.onlyGetTableBox.contentView = self.onlyGetTableVC!.view
+        self.onlyGetTableVC?.target = self
+        self.onlyGetTableVC?.action = #selector(self.radioAction(sender:))
+        self.onlyGetTableVC?.checkbox_radio()
+    }
+    
+    override func initDefaultVlaue() {
+        super.initDefaultVlaue()
         
-//        for radio in [onlyGetTableComboBox] {
-//            radio?.target = self
-//            radio?.action = #selector(radioAction)
-//        }
+        self.onlyGetTableBox.fillColor = .clear
+        self.onlyGetTableVC?.stringValue = NSLocalizedString("Only Table", comment: "")
+        self.onlyGetTableVC?.checkbox_radio()
     }
     
     override func viewDidMoveToWindow() {
         super.viewDidMoveToWindow()
         
-        let pageRangeItemView = KMConvertPageRangeSettingItemView.createFromNib()
-        pageRangeItemView?.frame = pageRangeBox.contentView!.bounds
-        pageRangeItemView?.autoresizingMask = NSView.AutoresizingMask(rawValue: 18)
-        pageRangeBox.contentView = pageRangeItemView
-//        self.pageRangeItemView = pageRangeItemView
-        pageRangeItemView?.isTextDidEndCallback = true
-        pageRangeItemView?.pageCount = self.pageCount
-        
-        pageRangeItemView?.itemClick = { [unowned self] index, _ in
-            pageRangeSelectedIndex = index
-            
-            guard let callback = self.pageRangeDidChange else {
-                return
-            }
-            
-            callback(KMPageRange(rawValue: index)!)
-        }
-        
-        pageRangeItemView?.textDidEndEditingCallback = { [unowned self] textString in
-            let pageRange = KMPageRange(rawValue: self.pageRangeSelectedIndex)
-            if (pageRange != .custom) {
-                return
-            }
-            
-            guard let callback = pageRangeDidInputFinishCallback else {
-                return
-            }
-            
-            callback(textString)
+        if (self.pageRangeItemView == nil) {
+            self.pageRangeItemView = KMConvertPageRangeSettingItemView.createFromNib()
+            self.pageRangeBox.contentView = self.pageRangeItemView
         }
     }
     
     @objc func radioAction(sender: NSButton) {
-        for radio in [onlyGetTableVC] {
+        for radio in [self.onlyGetTableVC] {
             if ((radio?.button.isEqual(to: sender))!) {
                 if radio?.state == .Checked {
                     radio?.state = .Norm
@@ -91,36 +71,29 @@ class KMConvertCSVSettingView: KMConvertSettingView {
             }
         }
         
-        if onlyGetTableVC.state == .Checked {
-            tableSheetComboBox.isEnabled = true
-        } else {
-            tableSheetComboBox.isEnabled = false
-        }
+//        if let state = self.onlyGetTableVC?.state, state == .Checked {
+//            self.tableSheetComboBox.isEnabled = true
+//        } else {
+//            self.tableSheetComboBox.isEnabled = false
+//        }
         
-        if onlyGetTableVC.state == .Checked {
-            selectedSettingIndex = 1
+        if let state = self.onlyGetTableVC?.state, state == .Checked {
+            self.selectedSettingIndex = 1
         } else {
-            selectedSettingIndex = 0
-        }
-    }
-    
-    override func getPageRangeString() -> String {
-        if let view = self.pageRangeItemView {
-            return view.pageRangeValue
+            self.selectedSettingIndex = 0
         }
-        return ""
     }
 }
 
-extension KMConvertCSVSettingView: NSComboBoxDelegate {
-    func comboBoxSelectionDidChange(_ notification: Notification) {
-        if (tableSheetComboBox.isEqual(to: notification.object)) {
-            if tableSheetComboBox.indexOfSelectedItem < 0 {
-                selectedTableFormatIndex = 0
-                return
-            }
-            
-            selectedTableFormatIndex = tableSheetComboBox.indexOfSelectedItem
-        }
-    }
-}
+//extension KMConvertCSVSettingView: NSComboBoxDelegate {
+//    func comboBoxSelectionDidChange(_ notification: Notification) {
+//        if (tableSheetComboBox.isEqual(to: notification.object)) {
+//            if tableSheetComboBox.indexOfSelectedItem < 0 {
+//                selectedTableFormatIndex = 0
+//                return
+//            }
+//
+//            selectedTableFormatIndex = tableSheetComboBox.indexOfSelectedItem
+//        }
+//    }
+//}

+ 50 - 50
PDF Office/PDF Master/Class/PDFTools/Convert/View/KMConvertExcelSettingView.swift

@@ -92,51 +92,51 @@ class KMConvertExcelSettingView: KMConvertSettingView {
     override func viewDidMoveToWindow() {
         super.viewDidMoveToWindow()
         
-        let ocrItemView = KMConvertOCRSettingItemView.createFromNib()
-        ocrItemView?.frame = ocrBox.contentView!.bounds
-        ocrItemView?.autoresizingMask = NSView.AutoresizingMask(rawValue: 18)
-        ocrBox.contentView = ocrItemView
-        ocrItemView?.languageIndex = ocrLanuguageIndex
-        self.ocrItemView = ocrItemView
-        
-        ocrItemView?.lanugageDidSelected = { [unowned self] value, change in
-            guard let callback = lanugageDidSelected else {
-                return
-            }
-            
-            callback(value, change)
-        }
-        
-        let pageRangeItemView = KMConvertPageRangeSettingItemView.createFromNib()
-        pageRangeItemView?.frame = pageRangeBox.contentView!.bounds
-        pageRangeItemView?.autoresizingMask = NSView.AutoresizingMask(rawValue: 18)
-        pageRangeBox.contentView = pageRangeItemView
-        pageRangeItemView?.isTextDidEndCallback = true
-//        self.pageRangeItemView = pageRangeItemView
-        pageRangeItemView?.pageCount = self.pageCount
-        
-        pageRangeItemView?.itemClick = { [unowned self] index, _ in
-            pageRangeSelectedIndex = index
-            
-            guard let callback = self.pageRangeDidChange else {
-                return
-            }
-            
-            callback(KMPageRange(rawValue: index)!)
-        }
-        
-        pageRangeItemView?.textDidEndEditingCallback = { [unowned self] textString in
-            let pageRange = KMPageRange(rawValue: self.pageRangeSelectedIndex)
-            if (pageRange != .custom) {
-                return
-            }
-            
-            guard let callback = pageRangeDidInputFinishCallback else {
-                return
-            }
-            
-            callback(textString)
-        }
+//        let ocrItemView = KMConvertOCRSettingItemView.createFromNib()
+//        ocrItemView?.frame = ocrBox.contentView!.bounds
+//        ocrItemView?.autoresizingMask = NSView.AutoresizingMask(rawValue: 18)
+//        ocrBox.contentView = ocrItemView
+//        ocrItemView?.languageIndex = ocrLanuguageIndex
+////        self.ocrItemView = ocrItemView
+//
+//        ocrItemView?.lanugageDidSelected = { [unowned self] value, change in
+//            guard let callback = lanugageDidSelected else {
+//                return
+//            }
+//
+//            callback(value, change)
+//        }
+//
+//        let pageRangeItemView = KMConvertPageRangeSettingItemView.createFromNib()
+//        pageRangeItemView?.frame = pageRangeBox.contentView!.bounds
+//        pageRangeItemView?.autoresizingMask = NSView.AutoresizingMask(rawValue: 18)
+//        pageRangeBox.contentView = pageRangeItemView
+//        pageRangeItemView?.isTextDidEndCallback = true
+////        self.pageRangeItemView = pageRangeItemView
+//        pageRangeItemView?.pageCount = self.pageCount
+//
+//        pageRangeItemView?.itemClick = { [unowned self] index, _ in
+//            pageRangeSelectedIndex = index
+//
+//            guard let callback = self.pageRangeDidChange else {
+//                return
+//            }
+//
+//            callback(KMPageRange(rawValue: index)!)
+//        }
+//
+//        pageRangeItemView?.textDidEndEditingCallback = { [unowned self] textString in
+//            let pageRange = KMPageRange(rawValue: self.pageRangeSelectedIndex)
+//            if (pageRange != .custom) {
+//                return
+//            }
+//
+//            guard let callback = pageRangeDidInputFinishCallback else {
+//                return
+//            }
+//
+//            callback(textString)
+//        }
     }
         
     @objc func radioAction(sender: Any) {
@@ -165,11 +165,11 @@ class KMConvertExcelSettingView: KMConvertSettingView {
                 self.sheetView.enabled = false
             }
             
-            if (self.ocrItemView != nil) {
-                self.ocrItemView?.checkVC?.enabled = true
-                self.ocrItemView?.checkVC?.state = .Checked
-                self.ocrItemView?.checkAction()
-            }
+//            if (self.ocrItemView != nil) {
+//                self.ocrItemView?.checkVC?.enabled = true
+//                self.ocrItemView?.checkVC?.state = .Checked
+//                self.ocrItemView?.checkAction()
+//            }
         }
         
         if self.allContentsVC.state == .Checked {

+ 6 - 98
PDF Office/PDF Master/Class/PDFTools/Convert/View/KMConvertPPTsSettingView.swift

@@ -13,106 +13,14 @@ class KMConvertPPTsSettingView: KMConvertSettingView {
         super.viewDidMoveToWindow()
         
         if (self.ocrItemView == nil) {
-            let view = KMConvertOCRSettingItemView.createFromNib()
-//            ocrItemView?.frame = ocrBox.contentView!.bounds
-//            ocrItemView?.autoresizingMask = NSView.AutoresizingMask(rawValue: 18)
-            ocrBox.contentView = view
-//            ocrItemView?.languageIndex = ocrLanuguageIndex
-            self.ocrItemView = view
-            
-            ocrItemView?.lanugageDidSelected = { [unowned self] value, change in
-                guard let callback = self.lanugageDidSelected else {
-                    return
-                }
-                
-                callback(value, change)
-            }
+            self.ocrItemView = KMConvertOCRSettingItemView.createFromNib()
+            self.ocrBox.contentView = self.ocrItemView
         }
-        
-//        let ocrItemView = KMConvertOCRSettingItemView.createFromNib()
-//        ocrItemView?.frame = ocrBox.contentView!.bounds
-//        ocrItemView?.autoresizingMask = NSView.AutoresizingMask(rawValue: 18)
-//        ocrBox.contentView = ocrItemView
-        ocrItemView?.languageIndex = ocrLanuguageIndex
-        
-//        ocrItemView?.lanugageDidSelected = {
-//            [unowned self] (index: Int) -> () in
-//            guard let callback = lanugageDidSelected else {
-//                return
-//            }
-            
-//            callback(index)
-//        }
-        
+        self.ocrItemView?.languageIndex = self.ocrLanuguageIndex
+
         if (self.pageRangeItemView == nil) {
-            let view = KMConvertPageRangeSettingItemView.createFromNib()
-//            pageRangeItemView?.frame = pageRangeBox.contentView!.bounds
-//            pageRangeItemView?.autoresizingMask = NSView.AutoresizingMask(rawValue: 18)
-            pageRangeBox.contentView = view
-//            self.pageRangeItemView = view
-//            view?.isTextDidEndCallback = true
-//            view?.pageCount = self.pageCount
-            
-            view?.itemClick = { [unowned self] index, _ in
-                pageRangeSelectedIndex = index
-                
-                guard let callback = self.pageRangeDidChange else {
-                    return
-                }
-                
-                callback(KMPageRange(rawValue: index)!)
-            }
-            
-            view?.textDidEndEditingCallback = { [unowned self] textString in
-                let pageRange = KMPageRange(rawValue: self.pageRangeSelectedIndex)
-                if (pageRange != .custom) {
-                    return
-                }
-                
-                guard let callback = pageRangeDidInputFinishCallback else {
-                    return
-                }
-                
-                callback(textString)
-            }
-        }
-//        let pageRangeItemView = KMConvertPageRangeSettingItemView.createFromNib()
-//        pageRangeItemView?.frame = pageRangeBox.contentView!.bounds
-//        pageRangeItemView?.autoresizingMask = NSView.AutoresizingMask(rawValue: 18)
-//        pageRangeBox.contentView = pageRangeItemView
-//        self.pageRangeItemView = pageRangeItemView
-        self.pageRangeItemView?.isTextDidEndCallback = true
-        self.pageRangeItemView?.pageCount = self.pageCount
-        
-//        pageRangeItemView?.itemClick = { [unowned self] index, _ in
-//            pageRangeSelectedIndex = index
-//
-//            guard let callback = self.pageRangeDidChange else {
-//                return
-//            }
-//
-//            callback(KMPageRange(rawValue: index)!)
-//        }
-//
-//        pageRangeItemView?.textDidEndEditingCallback = { [unowned self] textString in
-//            let pageRange = KMPageRange(rawValue: self.pageRangeSelectedIndex)
-//            if (pageRange != .custom) {
-//                return
-//            }
-//
-//            guard let callback = pageRangeDidInputFinishCallback else {
-//                return
-//            }
-//
-//            callback(textString)
-//        }
-    }
-    
-    override func getPageRangeString() -> String {
-        if let view = self.pageRangeItemView {
-            return view.pageRangeValue
+            self.pageRangeItemView = KMConvertPageRangeSettingItemView.createFromNib()
+            self.pageRangeBox.contentView = self.pageRangeItemView
         }
-        return ""
     }
-    
 }

+ 46 - 28
PDF Office/PDF Master/Class/PDFTools/Convert/View/KMConvertSettingView.swift

@@ -56,42 +56,57 @@ class KMConvertSettingView: KMConvertBaseView {
     var pageRangeDidInputFinishCallback: KMConvertSettingViewPageRangeDidInputFinishCallback?
     var lanugageDidSelected: KMValueDidChangeBlock?
     
-    var ocrItemView: KMConvertOCRSettingItemView?
-    private var _pageRangeItemView: KMConvertPageRangeSettingItemView?
-    var pageRangeItemView: KMConvertPageRangeSettingItemView? {
+    private var _ocrItemView: KMConvertOCRSettingItemView?
+    var ocrItemView: KMConvertOCRSettingItemView? {
         get {
-            if let view = self._pageRangeItemView {
-                return view
-            }
-            
-            let viwe = KMConvertPageRangeSettingItemView.createFromNib()
-            self._pageRangeItemView = viwe
-            viwe?.isTextDidEndCallback = true
-            
-            viwe?.itemClick = { [unowned self] index, _ in
-                self.pageRangeSelectedIndex = index
+            return self._ocrItemView
+        }
+        set {
+            if (self._ocrItemView != newValue) {
+                self._ocrItemView = newValue
                 
-                guard let callback = self.pageRangeDidChange else {
-                    return
+                newValue?.lanugageDidSelected = { [unowned self] value, change in
+                    guard let callback = self.lanugageDidSelected else {
+                        return
+                    }
+                    
+                    callback(value, change)
                 }
-                
-                callback(KMPageRange(rawValue: index)!)
             }
-            
-            viwe?.textDidEndEditingCallback = { [unowned self] textString in
-                let pageRange = KMPageRange(rawValue: self.pageRangeSelectedIndex)
-                if (pageRange != .custom) {
-                    return
+        }
+    }
+    private var _pageRangeItemView: KMConvertPageRangeSettingItemView?
+    var pageRangeItemView: KMConvertPageRangeSettingItemView? {
+        get {
+            return self._pageRangeItemView
+        }
+        set {
+            if (self._pageRangeItemView != newValue) {
+                self._pageRangeItemView = newValue
+                newValue?.isTextDidEndCallback = true
+                newValue?.itemClick = { [unowned self] index, _ in
+                    self.pageRangeSelectedIndex = index
+                    
+                    guard let callback = self.pageRangeDidChange else {
+                        return
+                    }
+                    
+                    callback(KMPageRange(rawValue: index)!)
                 }
                 
-                guard let callback = self.pageRangeDidInputFinishCallback else {
-                    return
+                newValue?.textDidEndEditingCallback = { [unowned self] textString in
+                    let pageRange = KMPageRange(rawValue: self.pageRangeSelectedIndex)
+                    if (pageRange != .custom) {
+                        return
+                    }
+                    
+                    guard let callback = self.pageRangeDidInputFinishCallback else {
+                        return
+                    }
+                    
+                    callback(textString)
                 }
-                
-                callback(textString)
             }
-            
-            return self._pageRangeItemView
         }
     }
     
@@ -111,6 +126,9 @@ class KMConvertSettingView: KMConvertBaseView {
     }
     
     func getPageRangeString() -> String {
+        if let view = self.pageRangeItemView {
+            return view.pageRangeValue
+        }
         return ""
     }
 }

+ 1 - 1
PDF Office/PDF Master/Class/PDFTools/Convert/View/KMConvertWordSettingView.swift

@@ -60,7 +60,7 @@ class KMConvertWordSettingView: KMConvertSettingView {
         if (self.ocrItemView == nil) {
             let view = KMConvertOCRSettingItemView.createFromNib()
             self.textOCRBox.contentView = view
-            self.ocrItemView = view
+//            self.ocrItemView = view
             
             view?.lanugageDidSelected = { [unowned self] value, change in
                 guard let callback = self.lanugageDidSelected else {