KMConvertExcelWindowController.swift 3.1 KB

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