KMConvertImageWindowController.swift 3.3 KB

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