|
@@ -743,47 +743,51 @@ extension KMWatermarkView {
|
|
|
}
|
|
|
|
|
|
@IBAction func buttonClicked_Done(_ sender: Any) {
|
|
|
- if checkPageRangeValidate(pageRangeComboBox.stringValue) {
|
|
|
- if watermark.pageRangeType == .other {
|
|
|
- var pageString: String = ""
|
|
|
- let fileAttribute = KMFileAttribute()
|
|
|
- fileAttribute.filePath = (self.pdfDocument?.documentURL.path)!
|
|
|
- fileAttribute.password = self.pdfDocument?.password ?? ""
|
|
|
- fileAttribute.bAllPage = false
|
|
|
- fileAttribute.pagesType = .custom
|
|
|
- fileAttribute.pagesString = self.pageRangeComboBox.stringValue
|
|
|
- let pages = fileAttribute.fetchSelectPages()
|
|
|
- for i in 0 ..< pages.count {
|
|
|
- pageString.append("\(pages[i] - 1)")
|
|
|
-
|
|
|
- if (i != pages.count-1) {
|
|
|
- pageString.append(",")
|
|
|
- }
|
|
|
- }
|
|
|
- self.watermark.pagesString = pageString
|
|
|
- } else {
|
|
|
- self.watermark.pagesString = self.pageRangeComboBox.stringValue
|
|
|
+ guard let pdfDocument = pdfDocument else { return }
|
|
|
+
|
|
|
+ if self.watermark.imagePath.count == 0 {
|
|
|
+ if self.watermark.text.isEmpty {
|
|
|
+ return
|
|
|
}
|
|
|
- updatePDFView()
|
|
|
}
|
|
|
|
|
|
- if self.watermark.pagesString.count == 0 {
|
|
|
- let alert = NSAlert()
|
|
|
- alert.alertStyle = .critical
|
|
|
- alert.messageText = "\(self.pdfDocument?.documentURL.lastPathComponent) Invalid page range or the page number is out of range. Please try again."
|
|
|
- alert.runModal()
|
|
|
- return
|
|
|
- } else {
|
|
|
- window?.makeFirstResponder(nil)
|
|
|
+ if checkPageRangeValidate(pageRangeComboBox.stringValue) {
|
|
|
+ watermark.pagesString = pageRangeComboBox.stringValue
|
|
|
+ self.updatePDFView()
|
|
|
+ window?.makeFirstResponder(self)
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
let needSave = saveToTemplateButton.state == .on
|
|
|
-
|
|
|
- if self.watermark.imagePath == nil {
|
|
|
- if self.watermark.text.isEmpty {
|
|
|
+ var pages = [Int]()
|
|
|
+
|
|
|
+ switch pageRangeComboBox.indexOfSelectedItem {
|
|
|
+ case 0:
|
|
|
+ pages = Array(0..<Int(pdfDocument.pageCount))
|
|
|
+ case 1:
|
|
|
+ pages = Array(stride(from: 0, to: Int(pdfDocument.pageCount), by: 2))
|
|
|
+ case 2:
|
|
|
+ pages = Array(stride(from: 1, to: Int(pdfDocument.pageCount), by: 2))
|
|
|
+ default:
|
|
|
+ let fileAttribute = KMFileAttribute()
|
|
|
+ fileAttribute.filePath = pdfDocument.documentURL?.path ?? ""
|
|
|
+ fileAttribute.bAllPage = false
|
|
|
+ fileAttribute.pagesType = .custom
|
|
|
+ fileAttribute.password = pdfDocument.password ?? ""
|
|
|
+ fileAttribute.pagesString = pageRangeComboBox.stringValue
|
|
|
+
|
|
|
+ let selectPages = fileAttribute.fetchSelectPages()
|
|
|
+ if selectPages.count != 0 {
|
|
|
+ pages = selectPages.map { $0 - 1 }
|
|
|
+ } else {
|
|
|
+ let alert = NSAlert()
|
|
|
+ alert.alertStyle = .critical
|
|
|
+ alert.messageText = "\(fileAttribute.filePath.lastPathComponent) \(NSLocalizedString("Invalid page range or the page number is out of range. Please try again.", comment: ""))"
|
|
|
+ alert.runModal()
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ watermark.pagesString = pages.isEmpty ? "" : pages.map { "\($0)" }.joined(separator: ",")
|
|
|
|
|
|
if self.type == .edit || self.type == .add {
|
|
|
if needSave {
|
|
@@ -816,55 +820,16 @@ extension KMWatermarkView {
|
|
|
|
|
|
savePanel.beginSheetModal(for: self.window!) { [unowned self] result in
|
|
|
if result == NSApplication.ModalResponse.OK {
|
|
|
-// let document = CPDFDocument(url: self.pdfDocument?.documentURL)
|
|
|
-// document?.unlock(withPassword: self.pdfDocument?.password)
|
|
|
-
|
|
|
self.addWatermark(model: self.watermark, toPath: savePanel.url!.path) { success in
|
|
|
if success {
|
|
|
if savePanelAccessoryViewController.openAutomaticButton.state == .on {
|
|
|
NSDocumentController.shared.openDocument(withContentsOf: savePanel.url!, display: true) { (document, documentWasAlreadyOpen, error) in
|
|
|
- // Handle the completion if needed
|
|
|
}
|
|
|
} else {
|
|
|
NSWorkspace.shared.activateFileViewerSelecting([savePanel.url!])
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
-//
|
|
|
-// let obj = KMPDFWatermarkObject(pdfDocument: document)
|
|
|
-// obj?.addWatermark(self.watermark, toPath: savePanel.url!.path, completionHandler: { (isSuccessfully) in
|
|
|
-// DispatchQueue.main.async {
|
|
|
-// savePanelAccessoryViewController.release()
|
|
|
-//
|
|
|
-// if isSuccessfully {
|
|
|
-// if savePanelAccessoryViewController.openAutomaticButton.state == .on {
|
|
|
-// NSDocumentController.shared.openDocument(withContentsOf: savePanel.url!, display: true) { (document, documentWasAlreadyOpen, error) in
|
|
|
-// // Handle the completion if needed
|
|
|
-// }
|
|
|
-// } else {
|
|
|
-// NSWorkspace.shared.activateFileViewer(selecting: [savePanel.url!])
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-// })
|
|
|
-//
|
|
|
-// if needSave {
|
|
|
-// if self.templateNameTextField.stringValue.isEmpty {
|
|
|
-// self.watermark.watermarkID = KMWatermarkManager.defaultManager().fetchAvailableName()
|
|
|
-// } else {
|
|
|
-// self.watermark.watermarkID = self.templateNameTextField.stringValue
|
|
|
-// }
|
|
|
-//
|
|
|
-// if KMWatermarkManager.defaultManager.watermarks.contains(self.originalWatermark) {
|
|
|
-// KMWatermarkManager.defaultManager.removeWatermark(withData: self.originalWatermark)
|
|
|
-// KMWatermarkManager.defaultManager.addWatermark(withData: self.watermark)
|
|
|
-// } else {
|
|
|
-// KMWatermarkManager.defaultManager.addWatermark(withData: self.watermark)
|
|
|
-// }
|
|
|
-//
|
|
|
-// NotificationCenter.default.post(name: NSNotification.Name("KMBatchOperateWatermarksNotification"), object: self)
|
|
|
-// }
|
|
|
}
|
|
|
}
|
|
|
}
|