1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- using ComPDFKit.PDFDocument;
- using PDF_Office.Model;
- using Prism.Services.Dialogs;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using static PDF_Office.Model.Dialog.ToolsDialogs.SaftyDialogs.DeleteSafetySettintgsModel;
- namespace PDF_Office.Helper
- {
- public class SecurityHelper
- {
- public static bool CheckHaveAllPermissions(CPDFDocument document)
- {
- CPDFPermissionsInfo permissionsInfo = document.GetPermissionsInfo();
- if (permissionsInfo.AllowsDocumentChanges &&
- permissionsInfo.AllowsPrinting &&
- permissionsInfo.AllowsHighQualityPrinting &&
- permissionsInfo.AllowsCopying &&
- permissionsInfo.AllowsDocumentAssembly &&
- permissionsInfo.AllowsFormFieldEntry &&
- permissionsInfo.AllowsCommenting)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- public static bool VerifyPassword(CPDFDocument document ,EnumPasswordKind enumPasswordKind, IDialogService dialogService)
- {
- if (enumPasswordKind == EnumPasswordKind.StatusOpenPassword)
- {
- if (!document.IsLocked)
- {
- return true;
- }
- }
- else if(enumPasswordKind == EnumPasswordKind.StatusPermissionsPassword)
- {
- if (!document.IsLocked)
- {
- if (CheckHaveAllPermissions(document))
- {
- return true;
- }
- }
- }
- string password = "";
- DialogParameters value = new DialogParameters();
- value.Add(ParameterNames.PasswordKind, EnumPasswordKind.StatusPermissionsPassword);
- value.Add(ParameterNames.PDFDocument, document);
- bool isDiscryptied = false;
- dialogService.ShowDialog(DialogNames.CheckPasswordDialog, value, e => {
- isDiscryptied = e.Parameters.GetValue<bool>(ParameterNames.PasswordResult);
- password = e.Parameters.GetValue<string>(ParameterNames.Password);
- });
- return isDiscryptied;
- }
- }
- }
|