KMConvertCSVWindowController.swift 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. //
  2. // KMConvertCSVWindowController.swift
  3. // PDF Master
  4. //
  5. // Created by tangchao on 2022/12/6.
  6. //
  7. import Cocoa
  8. class KMConvertCSVWindowController: KMConvertBaseWindowController {
  9. override var fileExtension: String {
  10. let settingView: KMConvertCSVSettingView = self.settingView as! KMConvertCSVSettingView
  11. if settingView.selectedSettingIndex == 0 {
  12. return KMPDFConvert.pathExtension(.csv, false)
  13. } else {
  14. return KMPDFConvert.pathExtension(.csv, true)
  15. }
  16. }
  17. override func windowDidLoad() {
  18. super.windowDidLoad()
  19. titleLabel.stringValue = NSLocalizedString("PDF to CSV", comment: "")
  20. let view = KMConvertCSVSettingView.createFromNib()
  21. view?.frame = rightScrollView.bounds
  22. view?.autoresizingMask = NSView.AutoresizingMask(rawValue: 18)
  23. settingView = view
  24. view!.tableSheetComboBox.isHidden = true
  25. if let pageCount = self.prePDFView?.document.pageCount {
  26. view?.pageCount = Int(pageCount)
  27. }
  28. view?.pageRangeDidChange = { [unowned self] pageRange in
  29. self.pageRange = pageRange
  30. if (pageRange != .custom) {
  31. self.updatePreView(pageRange: pageRange)
  32. }
  33. }
  34. view?.pageRangeDidInputFinishCallback = { [unowned self] string in
  35. self.pageRangeString = string
  36. let array = findSelectPage(pageRangeString: string)
  37. if array.count == 0 {
  38. let alert = NSAlert()
  39. alert.alertStyle = .warning
  40. alert.messageText = NSLocalizedString("Invalid page range or the page number is out of range. Please try again.", comment: "")
  41. alert.runModal()
  42. } else {
  43. self.updatePreView(pageRange: .custom, pageString: string)
  44. }
  45. }
  46. rightScrollView.documentView = view
  47. }
  48. override func convertModelAppendParams(convert: KMPDFConvert) {
  49. convert.convertType = .csv
  50. let settingView: KMConvertCSVSettingView = self.settingView as! KMConvertCSVSettingView
  51. if settingView.selectedSettingIndex == 0 {
  52. convert.isExtractTable = false
  53. } else {
  54. convert.isExtractTable = true
  55. }
  56. }
  57. }