public MyPrintDocument(PageSettings pageSettings, PrinterSettings printerSettings) { this.DefaultPageSettings = (PageSettings)pageSettings.Clone(); this.PrinterSettings = (PrinterSettings)printerSettings.Clone(); /* * using (var dcap = new PrintUtils.DeviceCaps(this.PrinterSettings)) * { * this.printArea = dcap.PrintMillimeterArea; * } */ RectangleF rf = this.DefaultPageSettings.PrintableArea; this.printArea = new RectangleF(rf.X * 0.254f, rf.Y * 0.254f, rf.Width * 0.254f, rf.Height * 0.254f); this.OriginAtMargins = false; }
[ConditionalFact(Helpers.AnyInstalledPrinters, Helpers.WindowsRS3OrEarlier)] // RS4 failures: https://github.com/dotnet/corefx/issues/29858 public void Clone_Success() { var printerSettings = new PrinterSettings(); PrinterSettings clone = Assert.IsAssignableFrom <PrinterSettings>(printerSettings.Clone()); Assert.False(ReferenceEquals(clone, printerSettings)); }