/// <summary> /// Initializes a new instance of the <see cref="PageSetupForm"/> class. /// </summary> /// <param name="settings">PrinterSettings used for printing.</param> public PageSetupForm(PrinterSettings settings) { // This call is required by the Windows Form Designer. InitializeComponent(); // Store the printer settings _printerSettings = settings; // Gets the list of available paper sizes comboPaperSizes.SuspendLayout(); PrinterSettings.PaperSizeCollection paperSizes = settings.PaperSizes; foreach (PaperSize ps in paperSizes) { comboPaperSizes.Items.Add(ps.PaperName); } comboPaperSizes.SelectedItem = settings.DefaultPageSettings.PaperSize.PaperName; if (comboPaperSizes.SelectedIndex == -1) { comboPaperSizes.SelectedIndex = 1; } comboPaperSizes.ResumeLayout(); // Gets the paper orientation if (settings.DefaultPageSettings.Landscape) { _rdbLandscape.Checked = true; } else { _rdbPortrait.Checked = true; } // Gets the margins _left = settings.DefaultPageSettings.Margins.Left / 100.0; txtBoxLeft.Text = $@"{_left:0.00}"; _top = settings.DefaultPageSettings.Margins.Top / 100.0; txtBoxTop.Text = $@"{_top:0.00}"; _bottom = settings.DefaultPageSettings.Margins.Bottom / 100.0; txtBoxBottom.Text = $@"{_bottom:0.00}"; _right = settings.DefaultPageSettings.Margins.Right / 100.0; txtBoxRight.Text = $@"{_right:0.00}"; }
private PaperSize FindPaperSize(PrinterSettings.PaperSizeCollection paperSizes, float paperWidth, float paperHeight, int rawKind) { foreach (PaperSize ps in paperSizes) { // convert hundreds of inches to mm float psWidth = ps.Width / 100f * 25.4f; float psHeight = ps.Height / 100f * 25.4f; // check if page has the same kind and size bool sizeEqual = Math.Abs(paperWidth - psWidth) < 5 && Math.Abs(paperHeight - psHeight) < 5; if (sizeEqual) { if (rawKind == 0 || ps.RawKind == rawKind) { return(ps); } } } return(null); }
System.Drawing.Printing.PaperSize findSuitablePaperSize(System.Drawing.Printing.PaperSize model, PaperKind modelPaper, PrinterSettings.PaperSizeCollection paperSizes) { if (paperSizes.Count == 1) { return(paperSizes[0]); } foreach (System.Drawing.Printing.PaperSize papSize in paperSizes) { if (papSize.Kind != modelPaper) { continue; } //if (papSize.Width < model.Width) continue; //if (papSize.Height < model.Height) continue; return(papSize); } return(null); }
private void method_1() { string str3; if ((pageSetupDialog == null) || (this.comboBox_DefaultPrinter.SelectedItem == null)) { this.loger.Error("SetCurPrinter函数:当前pageSetupDialog为空"); return; } pageSetupDialog.Document.PrinterSettings = new PrinterSettings(); pageSetupDialog.Document.PrinterSettings.PrinterName = this.comboBox_DefaultPrinter.SelectedItem.ToString(); PrinterSettings.PaperSizeCollection paperSizes = pageSetupDialog.Document.PrinterSettings.PaperSizes; this.CurrentPrinterName = pageSetupDialog.Document.PrinterSettings.PrinterName; if (((this.object_0 != null) && (this.object_0.Length > 0)) && ((str3 = this.object_0[0].ToString()) != null)) { if ((str3 == "c") || (str3 == "s")) { pageSetupDialog.Document.PrinterSettings.DefaultPageSettings.PaperSize = this.paperSize_0; } else if ((str3 == "j") || (str3 == "f")) { pageSetupDialog.Document.PrinterSettings.DefaultPageSettings.PaperSize = this.paperSize_1; } else if ((str3 == "q") && (this.object_0.Length >= 5)) { int num = Common.ObjectToInt(this.object_0[4].ToString()); string str2 = "NEW76mmX177mm"; Dictionary <string, int> jsPrintTemplate = ToolUtil.GetJsPrintTemplate(); if (jsPrintTemplate.Count > 0) { foreach (string str in jsPrintTemplate.Keys) { if (jsPrintTemplate[str] == num) { str2 = str; } } if (str2.IndexOf("76mmX177mm") != -1) { pageSetupDialog.Document.PrinterSettings.DefaultPageSettings.PaperSize = this.paperSize_2; } else if (str2.IndexOf("76mmX152mm") != -1) { pageSetupDialog.Document.PrinterSettings.DefaultPageSettings.PaperSize = this.paperSize_3; } else if (str2.IndexOf("76mmX127mm") != -1) { pageSetupDialog.Document.PrinterSettings.DefaultPageSettings.PaperSize = this.paperSize_4; } else if (str2.IndexOf("57mmX177mm") != -1) { pageSetupDialog.Document.PrinterSettings.DefaultPageSettings.PaperSize = this.paperSize_5; } else if (str2.IndexOf("57mmX152mm") != -1) { pageSetupDialog.Document.PrinterSettings.DefaultPageSettings.PaperSize = this.paperSize_6; } else if (str2.IndexOf("57mmX127mm") != -1) { pageSetupDialog.Document.PrinterSettings.DefaultPageSettings.PaperSize = this.paperSize_7; } else { pageSetupDialog.Document.PrinterSettings.DefaultPageSettings.PaperSize = this.paperSize_2; } } else { pageSetupDialog.Document.PrinterSettings.DefaultPageSettings.PaperSize = this.paperSize_2; } } } this.bool_0 = false; IEnumerator enumerator2 = pageSetupDialog.Document.PrinterSettings.PrinterResolutions.GetEnumerator(); { PrinterResolution current; while (enumerator2.MoveNext()) { current = (PrinterResolution)enumerator2.Current; if ((current.X == 180) && (current.Y == 180)) { goto Label_038B; } } goto Label_03BF; Label_038B: pageSetupDialog.Document.DefaultPageSettings.PrinterResolution = current; this.bool_0 = true; } Label_03BF: if ((this.printer_0 != null) && !IPrint.IsZjFlag) { PrinterEventArgs args = new PrinterEventArgs { Name = ((this.object_0 == null) || (this.object_0.Length <= 0)) ? "user" : this.object_0[0].ToString(), Left = Common.ObjectToFloat(this.txt_left.Text), Top = Common.ObjectToFloat(this.txt_top.Text), System = "1", PageLenght = 0, PrinterName = this.comboBox_DefaultPrinter.SelectedItem.ToString(), IsQuanDa = this.r1.Checked }; this.printer_0.SaveUserPrinterEdge(args); } }