HomePagePrinterDialogModel.cs 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Numerics;
  5. using System.Runtime.Remoting.Channels;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. using static PDF_Office.Model.Dialog.HomePageToolsDialogs.HomePagePrinter.HomePagePrinterDialogModel;
  9. namespace PDF_Office.Model.Dialog.HomePageToolsDialogs.HomePagePrinter
  10. {
  11. public class PrintSettingsInfo
  12. {
  13. public bool IsBlackAndWhite { get; set; }
  14. public bool IsReverseOrder { get; set; }
  15. public EnumPaperSize EnumPaperSize { get; set; }
  16. public EnumPageRange EnumPageRange { get; set; }
  17. public EnumPrintOrientation EnumPrintOrientation { get; set; }
  18. public bool PrintWithAnnot { get; set; }
  19. public bool PrintWithForm { get; set; }
  20. public int Copies { get; set; }
  21. public string PrinterName { get; set; }
  22. public string CustomizeRange { get; set; }
  23. public SizeSetttingsInfo SizeSetttingsInfo { get; set; }
  24. public PostModSplitInfo PostModSplitInfo { get; set; }
  25. public PostModTileInfo PostModTileInfo { get; set; }
  26. public MutipleInfo MutipleInfo { get; set; }
  27. public BookletInfo BookletInfo { get; set; }
  28. }
  29. public class HomePagePrinterDialogModel
  30. {
  31. }
  32. public enum EnumPaperSize
  33. {
  34. StatusA3,
  35. StatusA4,
  36. StatusA5,
  37. StatusB5,
  38. StatusNo10Envelope,
  39. StatusChoukei3Envelope,
  40. StatusDLEnvelope,
  41. StatusJISB5,
  42. StatusROC16K,
  43. StatusExtraLargeBA3,
  44. StatusTabloid,
  45. StatusExraLargeTabloid,
  46. StatusAmericanLegal,
  47. StatusAmericanLetter,
  48. StatusCustomized
  49. }
  50. public enum EnumSizeType
  51. {
  52. StatusAdaptive,
  53. StatusActural,
  54. StatusCustomized,
  55. }
  56. public enum EnumPageRange
  57. {
  58. StatusAllRange,
  59. StatusCurrentRange,
  60. StatusOddRange,
  61. StatusEvenRange,
  62. StatusCustomizedRange
  63. }
  64. public enum EnumPrintOrientation
  65. {
  66. StatusHorizontal,
  67. StatusVertical,
  68. }
  69. public enum EnumPrintContent
  70. {
  71. StatusOnlyDocument,
  72. StatusDocumentAndMarkUps,
  73. StatusDocumentAndForm,
  74. }
  75. public enum EnumPrintMod
  76. {
  77. StatusSize,
  78. StatusPoster,
  79. StatusMutiple,
  80. StatusBooklet
  81. }
  82. public enum EnumPosterMod
  83. {
  84. StatusTile,
  85. StatusSplit
  86. }
  87. public enum EnumDisplayPageNumber
  88. {
  89. StatusTwo,
  90. StatusFour,
  91. StatusSix,
  92. StatusNine,
  93. StatusSixteen,
  94. StatusCustomized
  95. }
  96. public enum EnumPageOrder
  97. {
  98. StatusHorizontalOrder,
  99. StatusHorizontalReverseOrder,
  100. StatusVerticalOrder,
  101. StatusVerticalReverseOrder,
  102. }
  103. public enum EnumBookletSubset
  104. {
  105. StatusBothSides,
  106. StatusFrontSideOnly,
  107. StatusBackSideOnly
  108. }
  109. public enum EnumBookletBinding
  110. {
  111. StatusLeft,
  112. StatusRight,
  113. StatusLeftTall,
  114. StatusRightTall
  115. }
  116. public abstract class PrintMod { }
  117. public class SizeSetttingsInfo : PrintMod
  118. {
  119. public EnumSizeType SizeType { get; set; }
  120. public int DisplayRatio { get; set; }
  121. }
  122. public class PosterInfo : PrintMod
  123. {
  124. public bool CutMarks { get; set; }
  125. public double OverLap { get; set; }
  126. }
  127. public class PostModTileInfo : PosterInfo
  128. {
  129. public int TileRatio { get; set; }
  130. }
  131. public class PostModSplitInfo : PosterInfo
  132. {
  133. public EnumDisplayPageNumber EnumDisplayPageNumber { get; set; }
  134. public int TileRatio { get; set; }
  135. public int WidthPartNumber { get; set; }
  136. public int HeightPartNumber { get; set; }
  137. }
  138. public class MutipleInfo : PrintMod
  139. {
  140. public bool AutoRotate { set; get; }
  141. public EnumDisplayPageNumber EnumDisplayPageNumber { get; set; }
  142. public int WidthPartNumber { get; set; }
  143. public int HeightPartNumber { get; set; }
  144. }
  145. public class BookletInfo : PrintMod
  146. {
  147. public EnumBookletSubset EnumBookletSubset { get; set; }
  148. public EnumBookletBinding EnumBookletBinding { get; set; }
  149. public int BeginPageIndex { get; set; }
  150. public int EndPageIndex { get; set; }
  151. }
  152. }