|
@@ -209,6 +209,62 @@ typealias KMMainDocumentCloudUploadHanddler = (@escaping(Bool, String)->()) -> (
|
|
|
self._saveAsing = true
|
|
|
}
|
|
|
|
|
|
+ override func save(_ sender: Any?) {
|
|
|
+ Task { @MainActor in
|
|
|
+ if await (KMLightMemberManager.manager.canPayFunction() == false) {
|
|
|
+ let _ = KMSubscribeWaterMarkWindowController.show(window: NSApp.mainWindow!) { isSubscribeSuccess, isWaterMarkExport, isClose in
|
|
|
+ if (isClose) {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ if (isSubscribeSuccess) {
|
|
|
+ super.save(sender)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // isWaterMarkExport
|
|
|
+ if (isWaterMarkExport) {
|
|
|
+ DispatchQueue.main.async {
|
|
|
+ NSPanel.savePanel(NSApp.mainWindow!, true, panel:{ panel in
|
|
|
+ panel.nameFieldStringValue = (self.mainViewController?.document?.documentURL.lastPathComponent)!
|
|
|
+ }) { response, url, isOpen in
|
|
|
+ if (response == .cancel) {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ if let _document = self.mainViewController?.document {
|
|
|
+ let watermark = CPDFWatermark(document: _document, type: .image)
|
|
|
+ watermark?.image = NSImage(named: "KMImageNameWatermark")
|
|
|
+ watermark?.horizontalPosition = .left
|
|
|
+ watermark?.verticalPosition = .top
|
|
|
+ watermark?.scale = 0.3
|
|
|
+ _document.addWatermark(watermark)
|
|
|
+
|
|
|
+
|
|
|
+ let linkA = self.mainViewController?.listView.addAnnotation(with: .link, selection: nil, page: _document.page(at: 0), bounds: NSMakeRect(0, _document.page(at: 0).bounds.size.height-20, 70, 20))
|
|
|
+ if let _linka = linkA as? CPDFLinkAnnotation {
|
|
|
+ _linka.setURL("https://www.baidu.com")
|
|
|
+ }
|
|
|
+
|
|
|
+ _document.write(to: url)
|
|
|
+ if (isOpen) {
|
|
|
+ NSDocumentController.shared.km_safe_openDocument(withContentsOf: url!, display: true) { _, _, _ in
|
|
|
+
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ NSWorkspace.shared.activateFileViewerSelecting([url!])
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return
|
|
|
+ }
|
|
|
+ super.save(sender)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
override func read(from absoluteURL: URL, ofType typeName: String) throws {
|
|
|
do {
|
|
|
try super.read(from: absoluteURL, ofType: typeName)
|