|
@@ -30,6 +30,7 @@ namespace PDF_Office.ViewModels.Dialog.ToolsDialogs.SaftyDialogs
|
|
|
public IDialogService dialogs;
|
|
|
private ViewContentViewModel viewContentViewModel;
|
|
|
private EnumPermissionsMod enumPermissionsMod = EnumPermissionsMod.StatusUnknown | EnumPermissionsMod.StatusRestrictPrinting | EnumPermissionsMod.StatusRestrictCopying;
|
|
|
+ private bool haveViewModel = false;
|
|
|
|
|
|
private bool _enableConfirm = false;
|
|
|
public bool EnableConfirm
|
|
@@ -329,31 +330,85 @@ namespace PDF_Office.ViewModels.Dialog.ToolsDialogs.SaftyDialogs
|
|
|
|
|
|
public void Encrypt()
|
|
|
{
|
|
|
- viewContentViewModel.SecurityInfo.IsPasswordChanged = true;
|
|
|
- if (NeedOpenPassword && (!string.IsNullOrEmpty(OpenPassword)))
|
|
|
+ if (haveViewModel)
|
|
|
{
|
|
|
- this.viewContentViewModel.SecurityInfo.NeedOpenPassword = true;
|
|
|
- this.viewContentViewModel.SecurityInfo.OpenPassword = OpenPassword;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- this.viewContentViewModel.SecurityInfo.NeedOpenPassword = false;
|
|
|
- viewContentViewModel.SecurityInfo.OpenPassword = null;
|
|
|
- }
|
|
|
+ viewContentViewModel.SecurityInfo.IsPasswordChanged = true;
|
|
|
+ if (NeedOpenPassword && (!string.IsNullOrEmpty(OpenPassword)))
|
|
|
+ {
|
|
|
+ this.viewContentViewModel.SecurityInfo.NeedOpenPassword = true;
|
|
|
+ this.viewContentViewModel.SecurityInfo.OpenPassword = OpenPassword;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ this.viewContentViewModel.SecurityInfo.NeedOpenPassword = false;
|
|
|
+ viewContentViewModel.SecurityInfo.OpenPassword = null;
|
|
|
+ }
|
|
|
|
|
|
- if (NeedPermissionsPassword && (!string.IsNullOrEmpty(PermissionsPassword)))
|
|
|
- {
|
|
|
- this.viewContentViewModel.SecurityInfo.NeedPermissionsPassword = true;
|
|
|
- viewContentViewModel.SecurityInfo.PermissionsPassword = PermissionsPassword;
|
|
|
- viewContentViewModel.SecurityInfo.CPDFPermissionsInfo = CreatePermissionsInfo(enumPermissionsMod);
|
|
|
+ if (NeedPermissionsPassword && (!string.IsNullOrEmpty(PermissionsPassword)))
|
|
|
+ {
|
|
|
+ this.viewContentViewModel.SecurityInfo.NeedPermissionsPassword = true;
|
|
|
+ viewContentViewModel.SecurityInfo.PermissionsPassword = PermissionsPassword;
|
|
|
+ viewContentViewModel.SecurityInfo.CPDFPermissionsInfo = CreatePermissionsInfo(enumPermissionsMod);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ this.viewContentViewModel.SecurityInfo.NeedPermissionsPassword = false;
|
|
|
+ viewContentViewModel.SecurityInfo.PermissionsPassword = null;
|
|
|
+ viewContentViewModel.SecurityInfo.CPDFPermissionsInfo = CreateDefaultPermissionsInfo();
|
|
|
+ }
|
|
|
+ RequestClose?.Invoke(new Prism.Services.Dialogs.DialogResult(ButtonResult.OK));
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- this.viewContentViewModel.SecurityInfo.NeedPermissionsPassword = false;
|
|
|
- viewContentViewModel.SecurityInfo.PermissionsPassword = null;
|
|
|
- viewContentViewModel.SecurityInfo.CPDFPermissionsInfo = CreateDefaultPermissionsInfo();
|
|
|
+ string openPassword = "";
|
|
|
+ string permissionsPassword = "";
|
|
|
+
|
|
|
+ CPDFPermissionsInfo permissionsInfo = null;
|
|
|
+
|
|
|
+ if (NeedOpenPassword)
|
|
|
+ {
|
|
|
+ if (!string.IsNullOrEmpty(OpenPassword))
|
|
|
+ {
|
|
|
+ openPassword = OpenPassword;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (NeedPermissionsPassword && (!string.IsNullOrEmpty(PermissionsPassword)))
|
|
|
+ {
|
|
|
+ permissionsPassword = PermissionsPassword;
|
|
|
+ permissionsInfo = CreatePermissionsInfo(enumPermissionsMod);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ permissionsInfo = CreateDefaultPermissionsInfo();
|
|
|
+ }
|
|
|
+
|
|
|
+ System.Windows.Forms.SaveFileDialog sfd = new System.Windows.Forms.SaveFileDialog();
|
|
|
+ /*
|
|
|
+ *设置这个对话框的起始保存路径
|
|
|
+ */
|
|
|
+ sfd.InitialDirectory = cPDFViewer.Document.FilePath;
|
|
|
+ /*
|
|
|
+ *设置保存的文件的类型,注意过滤器的语法 例子:“文件类型|*.后缀名;*.后缀名;”
|
|
|
+ */
|
|
|
+ sfd.Filter = "PDF|*.pdf;";
|
|
|
+ /*
|
|
|
+ *调用ShowDialog()方法显示该对话框,该方法的返回值代表用户是否点击了确定按钮
|
|
|
+ */
|
|
|
+ sfd.FileName = cPDFViewer.Document.FileName + "_EncryptedFile.pdf";
|
|
|
+ /*
|
|
|
+ * 做一些工作
|
|
|
+ */
|
|
|
+ if (sfd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
|
|
|
+ {
|
|
|
+ cPDFViewer.Document.Encrypt(openPassword, permissionsPassword, permissionsInfo);
|
|
|
+ cPDFViewer.Document.WriteToFilePath(sfd.FileName);
|
|
|
+ MessageBoxEx.Show("保存成功");
|
|
|
+ RequestClose?.Invoke(new Prism.Services.Dialogs.DialogResult(ButtonResult.OK));
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ }
|
|
|
}
|
|
|
- RequestClose?.Invoke(new Prism.Services.Dialogs.DialogResult(ButtonResult.OK));
|
|
|
}
|
|
|
|
|
|
//public void Encrypt()
|
|
@@ -428,8 +483,15 @@ namespace PDF_Office.ViewModels.Dialog.ToolsDialogs.SaftyDialogs
|
|
|
|
|
|
public void OnDialogOpened(IDialogParameters parameters)
|
|
|
{
|
|
|
+ if (parameters.TryGetValue<ViewContentViewModel>(ParameterNames.ViewContentViewModel, out viewContentViewModel))
|
|
|
+ {
|
|
|
+ haveViewModel = true;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ haveViewModel = false;
|
|
|
+ }
|
|
|
parameters.TryGetValue<CPDFViewer>(ParameterNames.PDFViewer, out cPDFViewer);
|
|
|
- parameters.TryGetValue<ViewContentViewModel>(ParameterNames.ViewContentViewModel, out viewContentViewModel);
|
|
|
}
|
|
|
#endregion
|
|
|
}
|