|
@@ -1498,7 +1498,7 @@ namespace PDF_Office.ViewModels
|
|
cPDFPermissionsInfo = SecurityInfo.CPDFPermissionsInfo;
|
|
cPDFPermissionsInfo = SecurityInfo.CPDFPermissionsInfo;
|
|
}
|
|
}
|
|
//方案一
|
|
//方案一
|
|
- if (true)
|
|
|
|
|
|
+ if (false)
|
|
{
|
|
{
|
|
PDFViewer.Document.Encrypt(openPassword, permissionsPassword, cPDFPermissionsInfo);
|
|
PDFViewer.Document.Encrypt(openPassword, permissionsPassword, cPDFPermissionsInfo);
|
|
AlertsMessage alertsMessage = new AlertsMessage();
|
|
AlertsMessage alertsMessage = new AlertsMessage();
|
|
@@ -1508,25 +1508,69 @@ namespace PDF_Office.ViewModels
|
|
else
|
|
else
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
- else
|
|
|
|
|
|
+ else if (false)
|
|
{
|
|
{
|
|
//方案二
|
|
//方案二
|
|
- string currentPath = PDFViewer.Document.FilePath;
|
|
|
|
- string tempPath = PDFViewer.Document.FilePath + ".temp.pdf";
|
|
|
|
|
|
+ try
|
|
|
|
+ {
|
|
|
|
+ string currentPath = PDFViewer.Document.FilePath;
|
|
|
|
+ string tempPath = PDFViewer.Document.FilePath + ".temp.pdf";
|
|
|
|
+ //PDFViewer.Document.Encrypt(openPassword, permissionsPassword, cPDFPermissionsInfo);
|
|
|
|
+ PDFViewer.Document.WriteToFilePath(tempPath);
|
|
|
|
+ PDFViewer.CloseDocument();
|
|
|
|
+ PDFViewer.InitDocument(tempPath);
|
|
|
|
+ PDFViewer.Document.UnlockWithPassword(permissionsPassword);
|
|
|
|
+ PDFViewer.Document.Encrypt(openPassword, permissionsPassword, cPDFPermissionsInfo);
|
|
|
|
+ PDFViewer.Document.WriteToFilePath(currentPath);
|
|
|
|
+ PDFViewer.CloseDocument();
|
|
|
|
+ PDFViewer.InitDocument(currentPath);
|
|
|
|
+ System.IO.File.Delete(tempPath);
|
|
|
|
+ PDFViewer.Document.UnlockWithPassword(permissionsPassword);
|
|
|
|
+ CanSave = false;
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
+ catch
|
|
|
|
+ {
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ else if(false)
|
|
|
|
+ {
|
|
|
|
+ //方案三
|
|
PDFViewer.Document.Encrypt(openPassword, permissionsPassword, cPDFPermissionsInfo);
|
|
PDFViewer.Document.Encrypt(openPassword, permissionsPassword, cPDFPermissionsInfo);
|
|
- PDFViewer.Document.WriteToFilePath(tempPath);
|
|
|
|
- PDFViewer.InitDocument(tempPath);
|
|
|
|
- //PDFViewer.Document.UnlockWithPassword(permissionsPassword);
|
|
|
|
- //PDFViewer.Document.Encrypt(openPassword, permissionsPassword, cPDFPermissionsInfo);
|
|
|
|
- PDFViewer.Document.WriteToFilePath(currentPath);
|
|
|
|
- System.IO.File.Delete(tempPath);
|
|
|
|
- PDFViewer.CloseDocument();
|
|
|
|
- PDFViewer.InitDocument(currentPath);
|
|
|
|
- PDFViewer.Document.UnlockWithPassword(permissionsPassword);
|
|
|
|
|
|
+ if (PDFViewer.Document.WriteToFilePath(PDFViewer.Document.FilePath))
|
|
|
|
+ {
|
|
|
|
+ DoAfterSaveAs(PDFViewer.Document.FilePath);
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- bool result = PDFViewer.Document.WriteToLoadedPath();
|
|
|
|
|
|
+ bool result;
|
|
|
|
+ if (SecurityInfo.IsPasswordChanged)
|
|
|
|
+ {
|
|
|
|
+ string openPassword = null;
|
|
|
|
+ string permissionsPassword = null;
|
|
|
|
+ CPDFPermissionsInfo cPDFPermissionsInfo = CreateDefaultPermissionsInfo();
|
|
|
|
+ if (SecurityInfo.NeedOpenPassword)
|
|
|
|
+ {
|
|
|
|
+ openPassword = SecurityInfo.OpenPassword;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (SecurityInfo.NeedPermissionsPassword)
|
|
|
|
+ {
|
|
|
|
+ permissionsPassword = SecurityInfo.PermissionsPassword;
|
|
|
|
+ cPDFPermissionsInfo = SecurityInfo.CPDFPermissionsInfo;
|
|
|
|
+ }
|
|
|
|
+ PDFViewer.Document.Encrypt(openPassword, permissionsPassword, cPDFPermissionsInfo);
|
|
|
|
+ }
|
|
|
|
+ //result = PDFViewer.Document.WriteToLoadedPath();
|
|
|
|
+ result = PDFViewer.Document.WriteToFilePath(PDFViewer.Document.FilePath);
|
|
if (result)
|
|
if (result)
|
|
{
|
|
{
|
|
PDFViewer.UndoManager.CanSave = false;
|
|
PDFViewer.UndoManager.CanSave = false;
|
|
@@ -1573,6 +1617,7 @@ namespace PDF_Office.ViewModels
|
|
SettingHelper.SetFileInfo(info);
|
|
SettingHelper.SetFileInfo(info);
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
+ PDFViewer.ReloadDocument();
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|