KMBatchConvertParameter.swift 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. //
  2. // KMBatchConvertParameter.swift
  3. // PDF Master
  4. //
  5. // Created by kdanmobile on 2023/10/25.
  6. //
  7. import Cocoa
  8. class KMBatchConvertParameter: KMBatchBaseParameter {
  9. var convertType: KMConvertWithPDFType?
  10. var allInOneSheet: Bool? // FP转excel用
  11. var isExtreactTabel: Bool? // Com_converter 转excel用
  12. var isRetainLayout: Bool? // NO 为流排
  13. var dpi: Int? // 转图片用
  14. // var extensionString: String = "" // FP方式转换需要用到
  15. var excelContentOption: CPDFConvertExcelContentOptions?
  16. var excelWorksheetOption: CPDFConvertExcelWorksheetOptions?
  17. override init(file:KMBatchOperateFile) {
  18. super.init(file: file)
  19. self.dpi = 150
  20. }
  21. func extensionString() -> String? {
  22. var rtString: String? = nil
  23. if self.convertType == .WordStandard || self.convertType == .WordAdvance {
  24. rtString = "docx"
  25. } else if self.convertType == .Excel {
  26. rtString = "xlsx"
  27. } else if self.convertType == .PowerPoint {
  28. rtString = "pptx"
  29. } else if self.convertType == .RTF {
  30. rtString = "rtf"
  31. } else if self.convertType == .CSV {
  32. rtString = "csv"
  33. } else if self.convertType == .HTML {
  34. rtString = "html"
  35. } else if self.convertType == .Text {
  36. rtString = "txt"
  37. } else if self.convertType == .JPEG {
  38. rtString = "jpeg"
  39. } else if self.convertType == .JPG {
  40. rtString = "jpg"
  41. } else if self.convertType == .PNG {
  42. rtString = "png"
  43. } else if self.convertType == .GIF {
  44. rtString = "gif"
  45. } else if self.convertType == .TGA {
  46. rtString = "tga"
  47. } else if self.convertType == .BMP {
  48. rtString = "bmp"
  49. } else if self.convertType == .TIFF {
  50. rtString = "tiff"
  51. } else if self.convertType == .JPEG2000 {
  52. rtString = "jp2"
  53. }
  54. return rtString
  55. }
  56. override func fetchDestinationFilepath() -> String? {
  57. if ((self.savePath?.isEmpty) == nil) && ((self.operateFile?.filePath.isEmpty) == nil){
  58. if self.convertType == .JPEG || self.convertType == .CSV || self.convertType == .JPG || self.convertType == .PNG || self.convertType == .GIF || self.convertType == .TIFF || self.convertType == .TGA || self.convertType == .BMP || self.convertType == .JPEG2000{
  59. self.outPutPath = self.getUniqueFilePath(filePath: self.savePath!.stringByAppendingPathComponent(self.operateFile!.filePath.lastPathComponent.deletingPathExtension))
  60. if self.operateFile?.CSVParameter.isExtreactTabel ?? false {
  61. self.outPutPath = (self.outPutPath! as NSString).appendingPathExtension("zip")
  62. self.outPutPath = self.getUniqueFilePath(filePath: self.outPutPath ?? "")
  63. }
  64. return self.outPutPath
  65. } else if self.convertType == .WordStandard || self.convertType == .WordAdvance || self.convertType == .Excel || self.convertType == .PowerPoint || self.convertType == .RTF || self.convertType == .HTML || self.convertType == .Text {
  66. let filePath1 = self.savePath?.stringByAppendingPathComponent(self.operateFile!.filePath.lastPathComponent.deletingPathExtension)
  67. self.outPutPath = self.getUniqueFilePath(filePath: filePath1!.stringByAppendingPathExtension(self.extensionString()!))
  68. return self.outPutPath
  69. }
  70. }
  71. return nil
  72. }
  73. func outPutPath() -> String? {
  74. let existOutPutPath = super.outPutPath
  75. if ((existOutPutPath?.isEmpty) != nil){
  76. if ((self.savePath?.isEmpty) == nil) && ((self.operateFile?.filePath.isEmpty) == nil) {
  77. if self.convertType == .JPEG || self.convertType == .CSV || self.convertType == .JPG || self.convertType == .PNG || self.convertType == .GIF || self.convertType == .TIFF || self.convertType == .TGA || self.convertType == .BMP || self.convertType == .JPEG2000{
  78. return self.getUniqueFilePath(filePath: self.savePath!.stringByAppendingPathComponent(self.operateFile!.filePath.lastPathComponent.deletingPathExtension))
  79. } else if self.convertType == .WordStandard ||
  80. self.convertType == .WordAdvance ||
  81. self.convertType == .Excel ||
  82. self.convertType == .PowerPoint ||
  83. self.convertType == .RTF ||
  84. self.convertType == .HTML ||
  85. self.convertType == .Text {
  86. let filePath1 = self.savePath!.stringByAppendingPathComponent(self.operateFile!.filePath.lastPathComponent.deletingPathExtension)
  87. return self.getUniqueFilePath(filePath: filePath1.stringByAppendingPathExtension(self.extensionString()!))
  88. }
  89. }
  90. }
  91. return super.outPutPath
  92. }
  93. override var pagesArray: [NSNumber]? {
  94. let fullpagesArray = fetchUnlimitPagesArray()
  95. var isLimitConvert = false
  96. // #if VERSION_FREE
  97. // 桌机版
  98. // if IAPProductsManager.defaultManager().isAvailableAdvancedPDFToOffice() {
  99. // isLimitConvert = false
  100. // } else {
  101. // if .PNG == self.convertType ||
  102. // .JPEG == self.convertType ||
  103. // .JPG == self.convertType ||
  104. // .HTML == self.convertType ||
  105. // .Text == self.convertType ||
  106. // .WordStandard == self.convertType {
  107. // isLimitConvert = false
  108. // } else {
  109. // isLimitConvert = true
  110. // }
  111. // }
  112. // #else
  113. // 付费版
  114. // if IAPProductsManager.defaultManager().isAvailableAdvancedPDFToOffice() {
  115. // isLimitConvert = false
  116. // } else {
  117. if .PNG == self.convertType ||
  118. .JPEG == self.convertType ||
  119. .JPG == self.convertType ||
  120. .HTML == self.convertType ||
  121. .Text == self.convertType ||
  122. .WordStandard == self.convertType {
  123. isLimitConvert = false
  124. } else {
  125. isLimitConvert = true
  126. }
  127. // }
  128. // #endif
  129. if isLimitConvert {
  130. if fullpagesArray!.count > 10 {
  131. var newArr: [NSNumber]?
  132. for i in 0...10 {
  133. var item = fullpagesArray?[i]
  134. newArr?.append(item!)
  135. }
  136. return newArr
  137. } else {
  138. return fullpagesArray
  139. }
  140. }
  141. return fullpagesArray
  142. }
  143. }