KMConvertImageWindowController.swift 3.4 KB

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