using System; using System.Collections.Generic; using System.Drawing.Printing; 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 bool IsIndexReverse { 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 PrintMod printMod { 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 { StatusLandscape, StatusPortrait } public enum EnumPrintContent { StatusOnlyDocument, StatusDocumentAndMarkUps, StatusDocumentAndForm, } public enum EnumPrintMod { StatusSize, StatusPoster, StatusMultiple, 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, } public abstract class PrintMod { } public class SizeInfo : PrintMod { public EnumSizeType EnumSizeType { get; set; } public int DisplayRatio { get; set; } } public class PosterInfo : PrintMod { public EnumPosterMod EnumPosterMod; public bool HasCutMarks { get; set; } public bool HasLabel { 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 MultipleInfo : PrintMod { public EnumPageOrder EnumPageOrder { set; get; } public EnumDisplayPageNumber EnumDisplayPageNumber { get; set; } public int HorizontalPageNumber { get; set; } public int VerticalPageNumber { get; set; } public bool IsAutoRotate { get; set; } } public class BookletInfo : PrintMod { public EnumBookletSubset EnumBookletSubset { get; set; } public EnumBookletBinding EnumBookletBinding { get; set; } public int BeginPaperIndex { get; set; } public int EndPaperIndex { get; set; } public bool IsAutoRotate { get; set; } } }