Browse Source

【转档】其他Item补充

tangchao 5 months ago
parent
commit
3d4f471aa1

+ 32 - 4
PDF Office/PDF Master/Class/PDFWindowController/Toolbar/KMToolbarViewController.swift

@@ -80,6 +80,7 @@ import Cocoa
     case conversion_text = 3006
     case conversion_image = 3007
     case conversion_imageToPDF = 3008
+    case conversion_other = 3009
     
     /// tool
     case compress = 8000
@@ -322,7 +323,7 @@ class KMToolbarViewController: NSViewController, NSTextFieldDelegate {
             self._itemSetPromptFlag(item: item_)
         } else {
             let item_ = self.toolbarItemFindItemIdentifiers(value: itemId)
-            self.delegate?.toolbarViewController?(self, menuItemDidClick: item_, index: 0, info: nil)
+            self.delegate?.toolbarViewController?(self, menuItemDidClick: item_, index: item.tag, info: nil)
             self._itemSetPromptFlag(item: item_)
         }
     }
@@ -853,7 +854,7 @@ extension KMToolbarViewController : KMToolbarViewDelegate,NSToolbarItemValidatio
                     KMToolbarConversionCSVItemIdentifier,
                     KMToolbarConversionHTMLItemIdentifier,
                     KMToolbarConversionTextItemIdentifier,
-                    KMToolbarConversionImageItemIdentifier, KMToolbarConversionImageToPDFItemIdentifier,
+                    KMToolbarConversionImageItemIdentifier, KMToolbarConversionImageToPDFItemIdentifier, KMToolbarConversionOtherItemIdentifier,
                     KMToolbarDividerItemIdentifier, KMToolbarConversionOCRIdentifier, KMToolbarConversionExportImageItemIdentifier]
         case .ScanOCR:
             return [KMToolbarToolEnhancedScanIdentifier,
@@ -1989,7 +1990,7 @@ extension KMToolbarViewController {
             let menuItem = NSMenuItem.init(title: NSLocalizedString("To Text", comment: ""), action: #selector(_menuItemAction), target: self)
             menuItem.representedObject = identifier
             item?.menuFormRepresentation = menuItem
-        } else if identifier == KMToolbarConversionImageItemIdentifier {
+        } else if identifier == KMToolbarConversionImageToPDFItemIdentifier {
             item?.image = NSImage(named: KMImageNameUXIconSubtoolbarConvertText)
             item?.target = self
             item?.btnTag = KMToolbarType.conversion_imageToPDF.rawValue
@@ -2001,7 +2002,34 @@ extension KMToolbarViewController {
             let menuItem = NSMenuItem.init(title: NSLocalizedString("Image To PDF", comment: ""), action: #selector(_menuItemAction), target: self)
             menuItem.representedObject = identifier
             item?.menuFormRepresentation = menuItem
-        } else if identifier == KMToolbarConversionImageItemIdentifier {
+        }
+        else if identifier == KMToolbarConversionOtherItemIdentifier {
+            item?.image = NSImage(named: KMImageNameUXIconSubtoolbarConvertPDFToIMG)
+            item?.target = self
+            item?.btnTag = KMToolbarType.conversion_other.rawValue
+            item?.titleName = NSLocalizedString("To Other", comment: "")
+            item?.boxImagePosition = .imageExpandLeft
+            item?.needExpandAction = true
+            item?.btnAction = nil
+            item?.promptIdentifier = identifier
+
+            let menuItem = NSMenuItem.init(title: item?.titleName ?? "", action: nil, target: self)
+            let subMenu = NSMenu()
+            let textI = subMenu.addItem_r(title: NSLocalizedString("To Text", comment: ""), action: #selector(_menuItemAction), target: self, tag: KMPDFConvertType.text.rawValue)
+            textI?.representedObject = identifier
+            let rtfI = subMenu.addItem_r(title: NSLocalizedString("To RTF", comment: ""), action: #selector(_menuItemAction), target: self, tag: KMPDFConvertType.rtf.rawValue)
+            rtfI?.representedObject = identifier
+            let htmlI = subMenu.addItem_r(title: NSLocalizedString("To HTML", comment: ""), action: #selector(_menuItemAction), target: self, tag: KMPDFConvertType.html.rawValue)
+            htmlI?.representedObject = identifier
+            let csvI = subMenu.addItem_r(title: NSLocalizedString("To CSV", comment: ""), action: #selector(_menuItemAction), target: self, tag: KMPDFConvertType.csv.rawValue)
+            csvI?.representedObject = identifier
+            let jsonI = subMenu.addItem_r(title: NSLocalizedString("To JSON", comment: ""), action: #selector(_menuItemAction), target: self, tag: KMPDFConvertType.tiff.rawValue)
+            jsonI?.representedObject = identifier
+
+            menuItem.submenu = subMenu
+            item?.menuFormRepresentation = menuItem
+        }
+        else if identifier == KMToolbarConversionImageItemIdentifier {
             item?.image = NSImage(named: KMImageNameUXIconSubtoolbarConvertPDFToIMG)
             item?.target = self
             item?.btnTag = KMToolbarType.conversion_image.rawValue

+ 2 - 1
PDF Office/PDF Master/Class/PDFWindowController/Toolbar/PublicKey.swift

@@ -111,6 +111,7 @@ let KMToolbarConversionHTMLItemIdentifier = "KMToolbarPDFToHtmlItemIdentifier"
 let KMToolbarConversionTextItemIdentifier = "KMToolbarPDFToTextItemIdentifier"
 let KMToolbarConversionImageItemIdentifier = "KMToolbarPDFToImageItemIdentifier"
 let KMToolbarConversionImageToPDFItemIdentifier = "KMToolbarImageToPDFNewItemIdentifier"
+let KMToolbarConversionOtherItemIdentifier = "KMToolbarPDFToOtherItemIdentifier"
 let KMToolbarConversionOCRIdentifier = "KMToolbarConversionOCRIdentifier"
 let KMToolbarConversionExportImageItemIdentifier = "KMToolbarExtractPDFImageItemIdentifier"
 
@@ -118,7 +119,7 @@ let conversionToolIdentifiers = [KMToolbarConversionCreatePDFItemIdentifier,
                                  KMToolbarConversionWordItemIdentifier, KMToolbarConversionExcelItemIdentifier,
                                  KMToolbarConversionPPTItemIdentifier, KMToolbarConversionRTFItemIdentifier,
                                  KMToolbarConversionCSVItemIdentifier, KMToolbarConversionHTMLItemIdentifier,
-                                 KMToolbarConversionTextItemIdentifier, KMToolbarConversionImageItemIdentifier, KMToolbarConversionImageToPDFItemIdentifier,
+                                 KMToolbarConversionTextItemIdentifier, KMToolbarConversionImageItemIdentifier, KMToolbarConversionImageToPDFItemIdentifier, KMToolbarConversionOtherItemIdentifier,
                                  KMToolbarConversionOCRIdentifier, KMToolbarConversionExportImageItemIdentifier]
 
 // EditPDF

+ 10 - 0
PDF Office/PDF Master/Class/PDFWindowController/ViewController/KMMainViewController+Action.swift

@@ -5127,6 +5127,16 @@ extension KMMainViewController : KMMainToolbarControllerDelegate {
             self.clickChildTool(type: .excel, index: 0)
         } else if itemId == KMToolbarConversionWordItemIdentifier {
             self.clickChildTool(type: .word, index: 0)
+        } else if itemId == KMToolbarConversionOtherItemIdentifier {
+            if index == KMPDFConvertType.text.rawValue {
+                self.clickChildTool(type: .conversion_text, index: 0)
+            } else if index == KMPDFConvertType.rtf.rawValue {
+                self.clickChildTool(type: .rtf, index: 0)
+            } else if index == KMPDFConvertType.html.rawValue {
+                self.clickChildTool(type: .html, index: 0)
+            } else if index == KMPDFConvertType.csv.rawValue {
+                self.clickChildTool(type: .csv, index: 0)
+            }
         }
     }
     

+ 2 - 0
PDF Office/PDF Reader Pro.xcodeproj/project.pbxproj

@@ -83,6 +83,7 @@
 		65C9CB012CA16B36009794E5 /* DocumentAI.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 65C9CB002CA16B36009794E5 /* DocumentAI.bundle */; };
 		65C9CB022CA16B36009794E5 /* DocumentAI.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 65C9CB002CA16B36009794E5 /* DocumentAI.bundle */; };
 		65C9CB032CA16B36009794E5 /* DocumentAI.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 65C9CB002CA16B36009794E5 /* DocumentAI.bundle */; };
+		65C9CB042CA29E67009794E5 /* libpaddle2onnx.1.0.7.dylib in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 65C9CAE62CA16231009794E5 /* libpaddle2onnx.1.0.7.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
 		65D684062C6A250C003A532E /* KMWavyLineAnnotationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65D684052C6A250C003A532E /* KMWavyLineAnnotationController.swift */; };
 		65D684072C6A250C003A532E /* KMWavyLineAnnotationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65D684052C6A250C003A532E /* KMWavyLineAnnotationController.swift */; };
 		65D684082C6A250C003A532E /* KMWavyLineAnnotationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65D684052C6A250C003A532E /* KMWavyLineAnnotationController.swift */; };
@@ -5570,6 +5571,7 @@
 			files = (
 				AD2BF21D2B5553E90029F03F /* ComPDFKit.framework in Embed Frameworks */,
 				AD2BF21F2B5553EB0029F03F /* AFNetworking.framework in Embed Frameworks */,
+				65C9CB042CA29E67009794E5 /* libpaddle2onnx.1.0.7.dylib in Embed Frameworks */,
 				AD2BF21B2B5553E70029F03F /* ComPDFKit_Conversion.framework in Embed Frameworks */,
 				AD2BF2212B5555CA0029F03F /* ObjectiveDropboxOfficial.framework in Embed Frameworks */,
 				89752DAA2936ECE9003FF08E /* Masonry.framework in Embed Frameworks */,