KMConvertWordWindowController.swift 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. //
  2. // KMConvertWordWindowController.swift
  3. // PDF Master
  4. //
  5. // Created by tangchao on 2022/12/6.
  6. //
  7. import Cocoa
  8. import ComPDFKit_Conversion
  9. class KMConvertWordWindowController: KMConvertBaseWindowController {
  10. override var fileExtension: String {
  11. return KMPDFConvert.pathExtension(.word)
  12. }
  13. override func windowDidLoad() {
  14. super.windowDidLoad()
  15. self.titleLabel.stringValue = NSLocalizedString("PDF to Word", comment: "")
  16. let view = KMConvertWordSettingView.createFromNib()
  17. view?.frame = rightScrollView.bounds
  18. view?.autoresizingMask = NSView.AutoresizingMask(rawValue: 18)
  19. self.settingView = view
  20. view?.currentLanguage = self.getCurrentLanguage()
  21. if let pageCount = self.prePDFView?.document.pageCount {
  22. view?.pageCount = Int(pageCount)
  23. }
  24. view?.lanugageDidSelected = { [unowned self] value, _ in
  25. guard let index = value as? Int else {
  26. return
  27. }
  28. /// 存储用户的选择
  29. self.saveLanugageSelectedIndex(index: index)
  30. }
  31. view?.pageRangeDidChange = { [unowned self] pageRange in
  32. self.pageRange = pageRange
  33. if (pageRange != .custom) {
  34. self.updatePreView(pageRange: pageRange)
  35. }
  36. }
  37. view?.pageRangeDidInputFinishCallback = { [unowned self] string in
  38. self.pageRangeString = string
  39. let array = findSelectPage(pageRangeString: string)
  40. if array.count == 0 {
  41. let alert = NSAlert()
  42. alert.alertStyle = .warning
  43. alert.messageText = NSLocalizedString("Invalid page range or the page number is out of range. Please try again.", comment: "")
  44. alert.runModal()
  45. } else {
  46. self.updatePreView(pageRange: .custom, pageString: string)
  47. }
  48. }
  49. self.rightScrollView.documentView = view
  50. }
  51. override func cancelButtonAction() {
  52. let path = self.getConvertFileSavePath()
  53. if FileManager.default.fileExists(atPath: path) {
  54. try?FileManager.default.removeItem(atPath: path)
  55. }
  56. super.cancelButtonAction()
  57. }
  58. override func initConvert() -> KMPDFConvert {
  59. return KMPDFConvertWord()
  60. }
  61. override func convertModelAppendParams(convert: KMPDFConvert) {
  62. super.convertModelAppendParams(convert: convert)
  63. if let _convert = convert as? KMPDFConvertWord {
  64. // let settingView: KMConvertWordSettingView = self.settingView as! KMConvertWordSettingView
  65. // if settingView.pageSettingSelectedIndex == 0 {
  66. // convert.isAllInOneSheet = false
  67. // } else {
  68. /// 流排
  69. _convert.layoutOptions = .RetainFlowingText
  70. // }
  71. }
  72. }
  73. }