SetPasswordDialogModel.cs 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. using ComPDFKit.PDFDocument;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. namespace PDF_Office.Model.Dialog.ToolsDialogs.SaftyDialogs
  8. {
  9. public class SetPasswordDialogModel
  10. {
  11. public bool CanOpen { get; set; }
  12. public bool CanEdit { get; set; }
  13. public static string CanOpenPassword { get; set; }
  14. public static string CanEditPassword { get; set; }
  15. public enum PrintMod
  16. {
  17. None,
  18. LowDpi,
  19. HighDpi
  20. }
  21. public enum ChangeMod
  22. {
  23. None,
  24. ChangePage,
  25. FormAndSignature,
  26. AnnotAndFormAndSignature,
  27. ExceptAbstrat
  28. }
  29. public CPDFPermissionsInfo CreatePermissionsInfo(PrintMod printMod, ChangeMod changeMod)
  30. {
  31. CPDFPermissionsInfo permissionsInfo = new CPDFPermissionsInfo();
  32. switch (printMod)
  33. {
  34. case PrintMod.None:
  35. permissionsInfo.AllowsPrinting = false;
  36. permissionsInfo.AllowsHighQualityPrinting = false;
  37. break;
  38. case PrintMod.LowDpi:
  39. permissionsInfo.AllowsPrinting = true;
  40. permissionsInfo.AllowsHighQualityPrinting = false;
  41. break;
  42. case PrintMod.HighDpi:
  43. permissionsInfo.AllowsHighQualityPrinting = true;
  44. permissionsInfo.AllowsPrinting = true;
  45. break;
  46. default:
  47. break;
  48. }
  49. switch (changeMod)
  50. {
  51. case ChangeMod.None:
  52. permissionsInfo.AllowsCopying = false;
  53. permissionsInfo.AllowsDocumentAssembly = false;
  54. permissionsInfo.AllowsCommenting = false;
  55. permissionsInfo.AllowsDocumentChanges = false;
  56. permissionsInfo.AllowsFormFieldEntry = false;
  57. break;
  58. case ChangeMod.ChangePage:
  59. permissionsInfo.AllowsCopying = false;
  60. permissionsInfo.AllowsDocumentAssembly = true;
  61. permissionsInfo.AllowsCommenting = false;
  62. permissionsInfo.AllowsDocumentChanges = false;
  63. permissionsInfo.AllowsFormFieldEntry = false;
  64. break;
  65. case ChangeMod.FormAndSignature:
  66. permissionsInfo.AllowsCopying = false;
  67. permissionsInfo.AllowsDocumentAssembly = false;
  68. permissionsInfo.AllowsCommenting = false;
  69. permissionsInfo.AllowsDocumentChanges = false;
  70. permissionsInfo.AllowsFormFieldEntry = true;
  71. break;
  72. case ChangeMod.AnnotAndFormAndSignature:
  73. permissionsInfo.AllowsCopying = false;
  74. permissionsInfo.AllowsDocumentAssembly = false;
  75. permissionsInfo.AllowsCommenting = true;
  76. permissionsInfo.AllowsDocumentChanges = false;
  77. permissionsInfo.AllowsFormFieldEntry = true;
  78. break;
  79. case ChangeMod.ExceptAbstrat:
  80. permissionsInfo.AllowsCopying = true;
  81. permissionsInfo.AllowsDocumentAssembly = true;
  82. permissionsInfo.AllowsCommenting = true;
  83. permissionsInfo.AllowsDocumentChanges = false;
  84. permissionsInfo.AllowsFormFieldEntry = true;
  85. break;
  86. }
  87. return permissionsInfo;
  88. }
  89. }
  90. }