KMConvertImageWindowController.swift 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. //
  2. // KMConvertImageWindowController.swift
  3. // PDF Office
  4. //
  5. // Created by tangchao on 2022/12/6.
  6. //
  7. import Cocoa
  8. class KMConvertImageWindowController: KMConvertBaseWindowController {
  9. override var fileExtension: String {
  10. // let settingView: KMConvertImageSettingView = self.settingView as! KMConvertImageSettingView
  11. // if settingView.selectedFormatIndex == 0 {
  12. // return KMPDFConvert.pathExtension(.jpeg)
  13. // } else if settingView.selectedFormatIndex == 1 {
  14. // return KMPDFConvert.pathExtension(.jpg)
  15. // } else if settingView.selectedFormatIndex == 2 {
  16. // return KMPDFConvert.pathExtension(.png)
  17. // } else if settingView.selectedFormatIndex == 3 {
  18. // return KMPDFConvert.pathExtension(.gif)
  19. // } else if settingView.selectedFormatIndex == 4 {
  20. // return KMPDFConvert.pathExtension(.tiff)
  21. // } else if settingView.selectedFormatIndex == 5 {
  22. // return KMPDFConvert.pathExtension(.tga)
  23. // } else if settingView.selectedFormatIndex == 6 {
  24. // return KMPDFConvert.pathExtension(.bmp)
  25. // } else if settingView.selectedFormatIndex == 7 {
  26. // return KMPDFConvert.pathExtension(.jp2)
  27. // }
  28. return super.fileExtension
  29. }
  30. override func windowDidLoad() {
  31. super.windowDidLoad()
  32. titleLabel.stringValue = NSLocalizedString("Settings", comment: "")
  33. let view = KMConvertImageSettingView.createFromNib()
  34. view?.frame = rightScrollView.bounds
  35. view?.autoresizingMask = NSView.AutoresizingMask(rawValue: 18)
  36. settingView = view
  37. view?.pageRangeDidChange = { [unowned self] pageRange in
  38. if (pageRange != .custom) {
  39. self.updatePreView(pageRange: pageRange)
  40. }
  41. }
  42. view?.pageRangeDidInputFinishCallback = { [unowned self] string in
  43. let array = findSelectPage(pageRangeString: string)
  44. if array.count == 0 {
  45. let alert = NSAlert()
  46. alert.alertStyle = .warning
  47. alert.messageText = NSLocalizedString("Invalid page range or the page number is out of range. Please try again.", comment: "")
  48. alert.runModal()
  49. } else {
  50. self.pageRangeString = string
  51. self.updatePreView(pageRange: .custom, pageString: string)
  52. }
  53. }
  54. rightScrollView.documentView = view
  55. }
  56. override func convertModelAppendParams(convert: KMPDFConvert) {
  57. let settingView: KMConvertImageSettingView = self.settingView as! KMConvertImageSettingView
  58. /// ["JPEG","JPG","PNG","GIF","TIFF","TGA","BMP","JPEG-2000"])
  59. if settingView.selectedFormatIndex == 0 {
  60. convert.convertType = .jpeg
  61. } else if settingView.selectedFormatIndex == 1 {
  62. convert.convertType = .jpg
  63. } else if settingView.selectedFormatIndex == 2 {
  64. convert.convertType = .png
  65. } else if settingView.selectedFormatIndex == 3 {
  66. convert.convertType = .gif
  67. } else if settingView.selectedFormatIndex == 4 {
  68. convert.convertType = .tiff
  69. } else if settingView.selectedFormatIndex == 5 {
  70. convert.convertType = .tga
  71. } else if settingView.selectedFormatIndex == 6 {
  72. convert.convertType = .bmp
  73. } else if settingView.selectedFormatIndex == 7 {
  74. convert.convertType = .jp2
  75. } else {
  76. convert.convertType = .jpeg
  77. }
  78. /// ["50 dpi", "72 dpi", "96 dpi", "150 dpi", "300 dpi", "600 dpi"])
  79. var dpi: Int = 150
  80. // if settingView.selectedResolutionIndex == 0 {
  81. // dpi = 50
  82. // } else if settingView.selectedResolutionIndex == 1 {
  83. // dpi = 72
  84. // } else if settingView.selectedResolutionIndex == 2 {
  85. // dpi = 96
  86. // } else if settingView.selectedResolutionIndex == 3 {
  87. // dpi = 150
  88. // } else if settingView.selectedResolutionIndex == 4 {
  89. // dpi = 300
  90. // } else if settingView.selectedResolutionIndex == 5 {
  91. // dpi = 600
  92. // } else {
  93. // dpi = 150
  94. // }
  95. convert.options = [KMPDFConvertOptionsKeyImageDPI:dpi,KMPDFConvertOptionsKeyImageWithAnnotation:true]
  96. }
  97. }