KMConvertExcelWindowController.swift 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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. if let pageCount = self.prePDFView?.document.pageCount {
  21. view?.pageCount = Int(pageCount)
  22. }
  23. view?.lanugageDidSelected = { [unowned self] index in
  24. /// 存储用户的选择
  25. saveLanugageSelectedIndex(index: index)
  26. }
  27. view?.pageRangeDidChange = { [unowned self] pageRange in
  28. self.pageRange = pageRange
  29. if (pageRange != .custom) {
  30. self.updatePreView(pageRange: pageRange)
  31. }
  32. }
  33. view?.pageRangeDidInputFinishCallback = { [unowned self] string in
  34. self.pageRangeString = string
  35. let array = findSelectPage(pageRangeString: string)
  36. if array.count == 0 {
  37. let alert = NSAlert()
  38. alert.alertStyle = .warning
  39. alert.messageText = NSLocalizedString("Invalid page range or the page number is out of range. Please try again.", comment: "")
  40. alert.runModal()
  41. } else {
  42. self.updatePreView(pageRange: .custom, pageString: string)
  43. }
  44. }
  45. rightScrollView.documentView = view
  46. }
  47. override func convertModelAppendParams(convert: KMPDFConvert) {
  48. let settingView: KMConvertExcelSettingView = self.settingView as! KMConvertExcelSettingView
  49. if settingView.selectedSettingIndex == 0 {
  50. convert.isExtractTable = false
  51. convert.isExtractText = false
  52. if (settingView.selectedSheetIndex == 0) {
  53. convert.isAllInOneSheet = false
  54. } else if (settingView.selectedSheetIndex == 1) {
  55. convert.isAllInOneSheet = true
  56. }
  57. } else if settingView.selectedSettingIndex == 1 {
  58. convert.isAllInOneSheet = false
  59. convert.isExtractText = false
  60. convert.isExtractTable = true
  61. convert.extractTableIndex = settingView.selectedTableFormatIndex
  62. } else if (settingView.selectedSettingIndex == 2) {
  63. convert.isAllInOneSheet = false
  64. convert.isExtractTable = false
  65. convert.isExtractText = true
  66. }
  67. convert.convertType = .excel
  68. }
  69. }