Parcourir la source

ComPDFKit(Flutter) - SaveAs 内容编辑模式下的保存适配

yangliuhua il y a 3 semaines
Parent
commit
3baac29556

+ 0 - 1
ios/Classes/CompdfkitFlutterPlugin.swift

@@ -131,7 +131,6 @@ public class CompdfkitFlutterPlugin: NSObject, FlutterPlugin, CPDFViewBaseContro
             }
             result(true)
         case "create_document_plugin":
-            //TODO: 创建CPDFDocumentPlugin插件
             let uId = call.arguments as? String ?? "";
             var documentPlugin = CPDFDocumentPlugin(uid: uId, binaryMessager: self.messager!)
             result(true)

+ 13 - 2
ios/Classes/reader/CPDFDocumentPlugin.swift

@@ -213,9 +213,20 @@ public class CPDFDocumentPlugin {
                 var success = false
              
                 if removeSecurity {
-                    success = self.document?.writeDecrypt(to: URL(fileURLWithPath: savePath), isSaveFontSubset: fontSubSet) ?? false
+                    if (self.pdfViewController?.pdfListView?.isEditing() == true && self.pdfViewController?.pdfListView?.isEdited() == true) {
+                        self.pdfViewController?.pdfListView?.commitEditing()
+                        
+                        success = self.document?.writeDecrypt(to: URL(fileURLWithPath: savePath), isSaveFontSubset: fontSubSet) ?? false
+                    } else {
+                        success = self.document?.writeDecrypt(to: URL(fileURLWithPath: savePath), isSaveFontSubset: fontSubSet) ?? false
+                    }
                 } else {
-                    success = self.document?.write(to: URL(fileURLWithPath: savePath), isSaveFontSubset: fontSubSet) ?? false
+                    if (self.pdfViewController?.pdfListView?.isEditing() == true && self.pdfViewController?.pdfListView?.isEdited() == true) {
+                        self.pdfViewController?.pdfListView?.commitEditing()
+                        success = self.document?.write(to: URL(fileURLWithPath: savePath), isSaveFontSubset: fontSubSet) ?? false
+                    } else {
+                        success = self.document?.write(to: URL(fileURLWithPath: savePath), isSaveFontSubset: fontSubSet) ?? false
+                    }
                 }
                
                 result(success)