private void Print() { if (TaxesText != null) { PrinterUtils.Print(TaxesText); } }
public static void onSelectedPrinter_PropertyChangedCallback(DependencyObject d, DependencyPropertyChangedEventArgs e) { if (d is UcPrinterPanel target) { if (target.SelectedPrinter_Inner == null && e.NewValue is Printer vvv) // 控件外赋值初始值 { target.SetSelectedPrinter_Inner_Slient(vvv); target.SelectedPaperSize_Inner = target.SelectedPrinter_Inner.PaperSizeList[0]; return; } if (e.NewValue != null && e.NewValue is Printer value && value.DisplayName == PrinterUtils.UpdateItem) { // 选择了 刷新 项 var temp = PrinterUtils.GetPrinterList(isContainUpdateListItem: true); target.PrinterList = PrinterUtils.PrinterOrderBy(printerList: temp, priorityPrinterList: target.PriorityPrinterList, priorityPaperList: target.PriorityPaperSizeList); return; } if (target.SelectedPrinter_Inner != null) { target.SelectedPaperSize_Inner = target.SelectedPrinter_Inner.PaperSizeList[0]; } } }
void init() { if (string.IsNullOrWhiteSpace(PriorityPrinterListStr) == false) { this.PriorityPrinterList = PriorityPrinterListStr.Split(',').Select(i => i.Trim()).Where(i => string.IsNullOrWhiteSpace(i) == false).ToList(); } else { this.PriorityPrinterList = new List <string>(); } if (this.PrinterList == null) { this.PrinterList = PrinterUtils.PrinterOrderBy ( printerList: PrinterUtils.GetPrinterList(isContainUpdateListItem: true), priorityPrinterList: this.PriorityPrinterList, priorityPaperList: null // 斑马打印机无需设置纸张选项 ); } if (this.SelectedPrinter == null) { var defaultPrinterName = PrinterUtils.GetDefaultPrinterName(); var match = this.PrinterList.FirstOrDefault(i => i.DisplayName == defaultPrinterName); // 设置选中默认打印机 if (match != null) { this.SelectedPrinter_Inner = match; } } }
public static void PrintEtiqueta(EtiquetaModel etiqueta, int qtd, string printer) { StringBuilder sb = new StringBuilder(); //sb.AppendLine("Q832"); sb.AppendLine("R0,0"); sb.AppendLine("N"); sb.AppendLine("D11"); sb.AppendLine("ZB"); for (int i = 0; i < etiqueta.Colunas; i++) { int startPos = (int)(i * (etiqueta.Width.CmToPoints() * GetDpiMultiplier(etiqueta.Dpi)) + (i * etiqueta.Espacamento.CmToPoints() * GetDpiMultiplier(etiqueta.Dpi))); foreach (EEModel element in etiqueta.ElementModels) { switch (element.Tipo) { case Enums.EEType.BarCode: sb.AppendLine($"B{startPos + ((double)element.X).PixelsToPoints() * GetDpiMultiplier(etiqueta.Dpi)},{((double)element.Y).PixelsToPoints() * GetDpiMultiplier(etiqueta.Dpi)},{(int)element.Rotacao},{Funcoes.GetBarcodeParam(element.TipoCodBarras)},{2 * element.Scale},{2 * element.Scale},{element.Altura.CmToPoints() * GetDpiMultiplier(etiqueta.Dpi)},{(element.ShowHumanCode ? "B" : "N")},\"{element.Texto}\""); break; case Enums.EEType.Texto: sb.AppendLine($"A{startPos + ((double)element.X).PixelsToPoints() * GetDpiMultiplier(etiqueta.Dpi)},{((double)element.Y).PixelsToPoints() * GetDpiMultiplier(etiqueta.Dpi)},{(int)element.Rotacao},{element.TamanhoFonte},{1},{1},N,\"{element.Texto}\""); break; case Enums.EEType.PrecoMascarado: sb.AppendLine($"A{startPos + ((double)element.X).PixelsToPoints() * GetDpiMultiplier(etiqueta.Dpi)},{((double)element.Y).PixelsToPoints() * GetDpiMultiplier(etiqueta.Dpi)},{(int)element.Rotacao},{element.TamanhoFonte},{1},{1},N,\"{element.Texto}\""); break; case Enums.EEType.Linha: bool invert = (element.Rotacao == Enums.ElementRotation.ROT90 || element.Rotacao == Enums.ElementRotation.ROT270); int altura = invert ? (int)((element.Scale * 6).CmToPoints() * GetDpiMultiplier(etiqueta.Dpi)) : (int)((element.Altura).CmToPoints() * GetDpiMultiplier(etiqueta.Dpi)); int largura = !invert ? (int)((element.Scale * 6).CmToPoints() * GetDpiMultiplier(etiqueta.Dpi)) : (int)((element.Altura).CmToPoints() * GetDpiMultiplier(etiqueta.Dpi)); int x = startPos + (int)(((double)element.X).PixelsToPoints() * GetDpiMultiplier(etiqueta.Dpi)); int y = (int)(((double)element.Y).PixelsToPoints() * GetDpiMultiplier(etiqueta.Dpi)); if (element.Rotacao == ElementRotation.ROT270) { y = y - altura; } sb.AppendLine($"LO{x},{y},{largura},{altura}"); break; default: throw new NotImplementedException("Elemento não implementado!"); } } } int rows = (qtd + etiqueta.Colunas - 1) / etiqueta.Colunas; sb.AppendLine($"P{rows}"); sb.AppendLine("N"); PrinterUtils.PrintRaw(printer, sb.ToString()); }
private void btnSettings_Click(object sender, EventArgs e) { PrinterUtils.ShowPropertiesDialog(FPrinterSettings); }
public bool PrintRaw(string data) { PrinterUtils.PrintRaw(this.printerName, data); return(true); }