public static void SetEtoSettings(this swc.PrintDialog dialog, PrintSettings settings) { if (dialog == null) { return; } if (settings != null) { var handler = (PrintSettingsHandler)settings.Handler; dialog.PrintQueue = handler.PrintQueue; dialog.PrintTicket = handler.Control; var maxPageRange = handler.MaximumPageRange; dialog.MinPage = (uint)maxPageRange.Start; dialog.MaxPage = (uint)maxPageRange.End; dialog.PageRange = handler.SelectedPageRange.ToPageRange(); dialog.PageRangeSelection = handler.PrintSelection.ToSWC(); } else { dialog.PrintQueue = null; dialog.PrintTicket = null; dialog.MinPage = 1; dialog.MaxPage = 1; dialog.PageRangeSelection = swc.PageRangeSelection.AllPages; dialog.PageRange = new swc.PageRange(1, 1); } }
public PrintSettingsHandler(swc.PrintDialog dialog) { Control = dialog.PrintTicket; PrintQueue = dialog.PrintQueue; MaximumPageRange = new Range((int)dialog.MinPage, (int)(dialog.MaxPage - dialog.MinPage) + 1); SelectedPageRange = dialog.PageRange.ToEto(); PrintSelection = dialog.PageRangeSelection.ToEto(); }
public void Print() { var print = new swc.PrintDialog(); print.SetEtoSettings(PrintSettings); Control.PageSize = new wf.Size(print.PrintableAreaWidth, print.PrintableAreaHeight); var printCapabilities = print.PrintQueue.GetPrintCapabilities(print.PrintTicket); var ia = printCapabilities.PageImageableArea; Control.ImageableArea = new wf.Rect(ia.OriginWidth, ia.OriginHeight, ia.ExtentWidth, ia.ExtentHeight); //printCapabilities.PageImageableArea.OriginWidth, printCapabilities.PageImageableArea.OriginHeight print.PrintDocument(Control, Name); }
public static void SetFromDialog(this PrintSettings settings, swc.PrintDialog dialog) { if (dialog == null) { return; } if (settings != null) { var handler = (PrintSettingsHandler)settings.Handler; handler.PrintQueue = dialog.PrintQueue; handler.MaximumPageRange = new Range((int)dialog.MinPage, (int)dialog.MaxPage); handler.SelectedPageRange = dialog.PageRange.ToEto(); handler.PrintSelection = dialog.PageRangeSelection.ToEto(); } }
public static PrintSettings GetEtoSettings(this swc.PrintDialog dialog, Eto.Generator generator) { return(dialog == null ? null : new PrintSettings(generator, new PrintSettingsHandler(dialog))); }