KMConvertExcelWindowController.swift 2.8 KB

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