123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181 |
- //
- // KMPDFConvertManager.swift
- // PDF Master
- //
- // Created by tangchao on 2022/12/7.
- //
- import Cocoa
- class KMPDFConvertManager: NSObject {
-
- static let defaultManager = KMPDFConvertManager()
-
- var operationQueue: OperationQueue = OperationQueue()
- lazy var ocrLanguages: [COCRLanguage] = {
- return [.chinese, .chineseTraditional, .english, .japanese, .korean,
- // // Latin
- .serbian, .occitan, .danish, .german, .french, .italian, .spanish, .portuguese, .maori, .malay,
- .maltese, .dutch, .norwegian, .polish, .romanian, .slovak, .slovenian, .albanian, .swedish, .swahili,
- .tagalog, .turish, .uzbek, .vietnamese, .afrikaans, .azerbaijani, .bosnian, .czech, .welsh, .estonian,
- .irish, .croatian, .hungarian, .indonesian, .icelandic, .kurdish, .lithuanian, .latvian,
- // Devanagari
- // .marathi, .nepali, .hindi, .bihari, .maithili, .angika, .bhojpuri, .magahi, .nagpur, .newari,
- // .goanKonkani, .saudiArabia
- ]
- }()
- lazy var ocrLanguageStrings: [String] = {
- var array: [String] = []
- for ocrLanguage in self.ocrLanguages {
- array.append(self.ocrLanguageString(ocrLanguage: ocrLanguage))
- }
- return array
- }()
-
- override init() {
- super.init()
-
- operationQueue.maxConcurrentOperationCount = 1
- }
-
- func convert(convert: KMPDFConvert, completion: @escaping (_ finished: Bool, _ error: Error?) -> ()) {
- convert.callback = completion
-
- operationQueue.addOperation(convert)
- }
-
- func convert(convert: KMPDFConvert, progress:@escaping (Int)->Void, completion: @escaping (_ finished: Bool, _ error: Error?) -> ()) {
- convert.callback = completion
- convert.progress = progress
-
- operationQueue.addOperation(convert)
- }
-
- func cancel(convert: KMPDFConvert) {
- convert.cancel()
- self.operationQueue.cancelAllOperations()
- }
-
- public func ocrLanguageString(ocrLanguage: COCRLanguage) -> String {
- switch ocrLanguage {
- case .chinese:
- return NSLocalizedString("Chinese", comment: "")
- case .chineseTraditional:
- return NSLocalizedString("Chinese Traditional", comment: "")
- case .english:
- return NSLocalizedString("English", comment: "")
- case .japanese:
- return NSLocalizedString("Japanese", comment: "")
- case .korean:
- return NSLocalizedString("Kroean", comment: "")
-
- /// Latin
- case .serbian:
- return NSLocalizedString("Serbian", comment: "")
- case .occitan:
- return NSLocalizedString("Occitan", comment: "")
- case .danish:
- return NSLocalizedString("Danish", comment: "")
- case .german:
- return NSLocalizedString("German", comment: "")
- case .french:
- return NSLocalizedString("French", comment: "")
- case .italian:
- return NSLocalizedString("Italian", comment: "")
- case .spanish:
- return NSLocalizedString("Spanish", comment: "")
- case .portuguese:
- return NSLocalizedString("Portuguese", comment: "")
- case .maori:
- return NSLocalizedString("Maori", comment: "")
- case .malay:
- return NSLocalizedString("Malay", comment: "")
-
- case .maltese:
- return NSLocalizedString("Maltese", comment: "")
- case .dutch:
- return NSLocalizedString("Dutch", comment: "")
- case .norwegian:
- return NSLocalizedString("Norwegian", comment: "")
- case .polish:
- return NSLocalizedString("Polish", comment: "")
- case .romanian:
- return NSLocalizedString("Romanian", comment: "")
- case .slovak:
- return NSLocalizedString("Slovak", comment: "")
- case .slovenian:
- return NSLocalizedString("Slovenian", comment: "")
- case .albanian:
- return NSLocalizedString("Albanian", comment: "")
- case .swedish:
- return NSLocalizedString("Swedish", comment: "")
- case .swahili:
- return NSLocalizedString("Swahili", comment: "")
-
- case .tagalog:
- return NSLocalizedString("Tagalog", comment: "")
- case .turish:
- return NSLocalizedString("Turish", comment: "")
- case .uzbek:
- return NSLocalizedString("Uzbek", comment: "")
- case .vietnamese:
- return NSLocalizedString("Vietnamese", comment: "")
- case .afrikaans:
- return NSLocalizedString("Afrikaans", comment: "")
- case .azerbaijani:
- return NSLocalizedString("Azerbaijani", comment: "")
- case .bosnian:
- return NSLocalizedString("Bosnian", comment: "")
- case .czech:
- return NSLocalizedString("Czech", comment: "")
- case .welsh:
- return NSLocalizedString("Welsh", comment: "")
- case .estonian:
- return NSLocalizedString("Estonian", comment: "")
-
- case .irish:
- return NSLocalizedString("Irish", comment: "")
- case .croatian:
- return NSLocalizedString("Croatian", comment: "")
- case .hungarian:
- return NSLocalizedString("Hungarian", comment: "")
- case .indonesian:
- return NSLocalizedString("Indonesian", comment: "")
- case .icelandic:
- return NSLocalizedString("Icelandic", comment: "")
- case .kurdish:
- return NSLocalizedString("Kurdish", comment: "")
- case .lithuanian:
- return NSLocalizedString("Lithuanian", comment: "")
- case .latvian:
- return NSLocalizedString("Latvian", comment: "")
-
- /// Devanagari
- case .marathi:
- return NSLocalizedString("Marathi", comment: "")
- case .nepali:
- return NSLocalizedString("Nepali", comment: "")
- case .hindi:
- return NSLocalizedString("Hindi", comment: "")
- case .bihari:
- return NSLocalizedString("Bihari", comment: "")
- case .maithili:
- return NSLocalizedString("Maithili", comment: "")
- case .angika:
- return NSLocalizedString("Angika", comment: "")
- case .bhojpuri:
- return NSLocalizedString("Bhojpuri", comment: "")
- case .magahi:
- return NSLocalizedString("Magahi", comment: "")
- case .nagpur:
- return NSLocalizedString("Nagpur", comment: "")
- case .newari:
- return NSLocalizedString("Newari", comment: "")
-
- case .goanKonkani:
- return NSLocalizedString("GoanKonkani", comment: "")
- case .saudiArabia:
- return NSLocalizedString("SaudiArabia", comment: "")
- }
- }
- }
|