using System; using System.Collections.Generic; using System.Linq; using System.Numerics; using System.Runtime.Remoting.Channels; using System.Text; using System.Threading.Tasks; using static PDF_Office.Model.Dialog.HomePageToolsDialogs.HomePagePrinter.HomePagePrinterDialogModel; namespace PDF_Office.Model.Dialog.HomePageToolsDialogs.HomePagePrinter { public class PrintSettingsInfo { public bool IsBlackAndWhite { get; set; } public bool IsReverseOrder { get; set; } public EnumPaperSize EnumPaperSize { get; set; } public EnumPageRange EnumPageRange { get; set; } public EnumPrintOrientation EnumPrintOrientation { get; set; } public bool PrintWithAnnot { get; set; } public bool PrintWithForm { get; set; } public int Copies { get; set; } public string PrinterName { get; set; } public string CustomizeRange { get; set; } public SizeSetttingsInfo SizeSetttingsInfo { get; set; } public PostModSplitInfo PostModSplitInfo { get; set; } public PostModTileInfo PostModTileInfo { get; set; } public MutipleInfo MutipleInfo { get; set; } public BookletInfo BookletInfo { get; set; } } public class HomePagePrinterDialogModel { } public enum EnumPaperSize { StatusA3, StatusA4, StatusA5, StatusB5, StatusNo10Envelope, StatusChoukei3Envelope, StatusDLEnvelope, StatusJISB5, StatusROC16K, StatusExtraLargeBA3, StatusTabloid, StatusExraLargeTabloid, StatusAmericanLegal, StatusAmericanLetter, StatusCustomized } public enum EnumSizeType { StatusAdaptive, StatusActural, StatusCustomized, } public enum EnumPageRange { StatusAllRange, StatusCurrentRange, StatusOddRange, StatusEvenRange, StatusCustomizedRange } public enum EnumPrintOrientation { StatusHorizontal, StatusVertical, } public enum EnumPrintContent { StatusOnlyDocument, StatusDocumentAndMarkUps, StatusDocumentAndForm, } public enum EnumPrintMod { StatusSize, StatusPoster, StatusMutiple, StatusBooklet } public enum EnumPosterMod { StatusTile, StatusSplit } public enum EnumDisplayPageNumber { StatusTwo, StatusFour, StatusSix, StatusNine, StatusSixteen, StatusCustomized } public enum EnumPageOrder { StatusHorizontalOrder, StatusHorizontalReverseOrder, StatusVerticalOrder, StatusVerticalReverseOrder, } public enum EnumBookletSubset { StatusBothSides, StatusFrontSideOnly, StatusBackSideOnly } public enum EnumBookletBinding { StatusLeft, StatusRight, StatusLeftTall, StatusRightTall } public abstract class PrintMod { } public class SizeSetttingsInfo : PrintMod { public EnumSizeType SizeType { get; set; } public int DisplayRatio { get; set; } } public class PosterInfo : PrintMod { public bool CutMarks { get; set; } public double OverLap { get; set; } } public class PostModTileInfo : PosterInfo { public int TileRatio { get; set; } } public class PostModSplitInfo : PosterInfo { public EnumDisplayPageNumber EnumDisplayPageNumber { get; set; } public int TileRatio { get; set; } public int WidthPartNumber { get; set; } public int HeightPartNumber { get; set; } } public class MutipleInfo : PrintMod { public bool AutoRotate { set; get; } public EnumDisplayPageNumber EnumDisplayPageNumber { get; set; } public int WidthPartNumber { get; set; } public int HeightPartNumber { get; set; } } public class BookletInfo : PrintMod { public EnumBookletSubset EnumBookletSubset { get; set; } public EnumBookletBinding EnumBookletBinding { get; set; } public int BeginPageIndex { get; set; } public int EndPageIndex { get; set; } } }