Ver Fonte

【转档】批量补充Json

tangchao há 5 meses atrás
pai
commit
6da006d642

+ 4 - 2
PDF Office/PDF Master/Class/Batch/Data/KMBatchConvertParameter.swift

@@ -58,6 +58,8 @@ class KMBatchConvertParameter: KMBatchBaseParameter {
             rtString = "tiff"
         } else if self.convertType == .JPEG2000 {
             rtString = "jp2"
+        } else if self.convertType == .Json {
+            rtString = "json"
         }
         return rtString
     }
@@ -70,7 +72,7 @@ class KMBatchConvertParameter: KMBatchBaseParameter {
                     self.outPutPath = self.getUniqueFilePath(filePath: self.outPutPath ?? "")
                 }
                 return self.outPutPath
-            } else if self.convertType == .WordStandard || self.convertType == .WordAdvance || self.convertType == .Excel || self.convertType == .PowerPoint || self.convertType == .RTF || self.convertType == .HTML || self.convertType == .Text {
+            } else if self.convertType == .WordStandard || self.convertType == .WordAdvance || self.convertType == .Excel || self.convertType == .PowerPoint || self.convertType == .RTF || self.convertType == .HTML || self.convertType == .Text || self.convertType == .Json {
                 let filePath1 = self.savePath?.stringByAppendingPathComponent(self.operateFile!.filePath.getLastComponentDeleteExtension)
                 self.outPutPath = self.getUniqueFilePath(filePath: filePath1!.stringByAppendingPathExtension(self.extensionString()!))
                 return self.outPutPath
@@ -94,7 +96,7 @@ class KMBatchConvertParameter: KMBatchBaseParameter {
                                 self.convertType == .PowerPoint ||
                                 self.convertType == .RTF ||
                                 self.convertType == .HTML ||
-                                self.convertType == .Text {
+                                self.convertType == .Text || self.convertType == .Json {
                         let filePath1 = self.savePath!.stringByAppendingPathComponent(self.operateFile!.filePath.lastPathComponent.deletingPathExtension)
                         return self.getUniqueFilePath(filePath: filePath1.stringByAppendingPathExtension(self.extensionString()!))
                     }

+ 7 - 0
PDF Office/PDF Master/Class/Batch/Data/KMBatchOperateFile.swift

@@ -222,6 +222,11 @@ import Cocoa
         paramter.convertType = .JPEG2000
         return paramter
     }()
+    lazy var JSONParameter: KMBatchConvertParameter = {
+        let paramter = KMBatchConvertParameter(file: self)
+        paramter.convertType = .Json
+        return paramter
+    }()
     
     init(filePath: String) {
         super.init()
@@ -318,6 +323,8 @@ import Cocoa
             return self.BMPParameter
         } else if self.convertType == .JPEG2000 {
             return self.JPEG2000Parameter
+        } else if self.convertType == .Json {
+            return self.JSONParameter
         }
         return nil
     }

+ 25 - 0
PDF Office/PDF Master/Class/Batch/Operation/KMBatchConvertOperation.swift

@@ -234,6 +234,31 @@ class KMBatchConvertOperation: KMBatchOperation, CPDFConverterDelegate, CPDFConv
                 self.converter!.convert(toFilePath: operateFile?.outputFilePath, pageIndexs: operateFile?.currentConvertParameter?.pagesArray, options: options)
                 return
             }
+            if self.operateFile?.convertType == .Json {
+                if let data = self.operateFile?.JSONParameter.isExtreactTabel, data {
+                    self.converter = CPDFConverterJsonTable(url:  URL(fileURLWithPath: operateFile?.filePath ?? ""), password: self.operateFile?.password)
+                } else {
+                    self.converter = CPDFConverterJson(url:  URL(fileURLWithPath: operateFile?.filePath ?? ""), password: self.operateFile?.password)
+                }
+                self.converter?.delegate = self
+                
+                let options = CPDFConvertJsonOptions()
+                options.isAllowOCR = self.isAllowOCR
+                if (self.isAllowOCR) {
+                    if let language = self.ocrLanguage {
+                        options.language = language
+                    } else {
+                        options.language = .english
+                    }
+                } else {
+
+                }
+                
+                self.converter!.convert(toFilePath: operateFile?.outputFilePath, pageIndexs: operateFile?.currentConvertParameter?.pagesArray, options: options)
+                return
+            }
+            
+            
             let op: [String:Any] = [CPDFConvertOptionsKey.imageDPI.rawValue:operateFile?.dpi as Any,CPDFConvertOptionsKey.allInOneSheet.rawValue:(operateFile?.currentConvertParameter?.allInOneSheet ?? false)]
             self.fpPDFConverter = CPDFConverterFP()
             self.fpPDFConverter!.setDelegate(self)

+ 2 - 1
PDF Office/PDF Master/Class/Batch/WindowController/VC/KMBatchOperateConvertViewController.swift

@@ -265,7 +265,7 @@ class KMBatchOperateConvertViewController: KMBatchOperateBaseViewController{
             ocrTopOffset.constant = 15 + excelStyleBox.frame.height
         } else if .Json == convertType {
             wordButtonOne.title = NSLocalizedString("Extract text content", comment: "")
-            wordButtonTwo.title = NSLocalizedString("Extract Table", comment: "")
+            wordButtonTwo.title = NSLocalizedString("Extract tables", comment: "")
             
             separateStypeBox.isHidden = false
             excelStyleBox.isHidden = true
@@ -586,6 +586,7 @@ class KMBatchOperateConvertViewController: KMBatchOperateBaseViewController{
             file?.excelParameter.excelContentOption = self.excelContentOption
             file?.excelParameter.excelWorksheetOption = self.excelWorksheetOption
 
+            file?.JSONParameter.isExtreactTabel = self.wordButtonTwo.state == .on
             var isAllowOCR = self.ocrBox.isHidden == false
             if isAllowOCR {
                 isAllowOCR = self.ocrButton.state == .on