|
@@ -152,8 +152,13 @@ class KMExtractImageWindowController: NSWindowController,PDFConvertObjectDelegat
|
|
|
let indeSet = self.selectIndexSet()
|
|
|
if indeSet.count == 0 { return }
|
|
|
let lastPathName = self.pdfDocument?.documentURL.deletingPathExtension().lastPathComponent ?? ""
|
|
|
- let tFileName = (String(format: "%@_Extract Images", lastPathName))
|
|
|
+ var tFileName = (String(format: "%@_Extract Images", lastPathName))
|
|
|
let outputSavePanel = NSSavePanel()
|
|
|
+ if let data = outputSavePanel.directoryURL?.appendingPathComponent(tFileName) {
|
|
|
+ let fileUrl = self.fetchUniquePath(data.path)
|
|
|
+ tFileName = fileUrl.lastPathComponent
|
|
|
+ }
|
|
|
+
|
|
|
outputSavePanel.title = NSLocalizedString("Save as PDF", comment: "")
|
|
|
outputSavePanel.allowsOtherFileTypes = true
|
|
|
outputSavePanel.isExtensionHidden = true
|
|
@@ -171,6 +176,41 @@ class KMExtractImageWindowController: NSWindowController,PDFConvertObjectDelegat
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ func fetchUniquePath(_ originalPath: String) -> String {
|
|
|
+ var path = originalPath
|
|
|
+ let dManager = FileManager.default
|
|
|
+ if !dManager.fileExists(atPath: path) {
|
|
|
+ if path.extension.count < 1 {
|
|
|
+ path = path.stringByAppendingPathExtension("pdf")
|
|
|
+ }
|
|
|
+ return path
|
|
|
+ } else {
|
|
|
+ let originalFullFileName = path.lastPathComponent
|
|
|
+ let url = URL(fileURLWithPath: path)
|
|
|
+// let originalFileName = path.lastPathComponent.deletingPathExtension.lastPathComponent
|
|
|
+// let originalFileName = url.deletingPathExtension().lastPathComponent
|
|
|
+ let originalFileName = originalFullFileName
|
|
|
+// let originalExtension = path.extension
|
|
|
+
|
|
|
+ let startIndex: Int = 0
|
|
|
+ let endIndex: Int = startIndex + originalPath.count - originalFullFileName.count - 1
|
|
|
+ let fileLocatePath = originalPath.substring(to: endIndex)
|
|
|
+ var i = 1
|
|
|
+ while (1 != 0) {
|
|
|
+ var newName = String(format: "%@(%ld)", originalFileName, i)
|
|
|
+// newName = String(format: "%@%@", newName, originalExtension)
|
|
|
+ let newPath = fileLocatePath.stringByAppendingPathComponent(newName)
|
|
|
+ if !dManager.fileExists(atPath: newPath) {
|
|
|
+ return newPath
|
|
|
+ } else {
|
|
|
+ i+=1
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
func extractOK(_ folder: String) {
|
|
|
self.hideWaitting()
|
|
|
self.close()
|