private void printButton_Click(object sender, EventArgs e) { PrinterSettings ps = new PrinterSettings { PrinterName = labelPrinter }; LabelTemplate labelTemplate = labelComboBox.SelectedItem as LabelTemplate; double labelWidth = labelTemplate.StockWidth; double labelHeight = labelTemplate.StockHeight; ps.Width = (int)(203 * labelHeight); ps.Length = (int)(203 * labelWidth); ps.Darkness = printDarkness; ps.PrintSpeed = printSpeed; List <byte> page = new List <byte>(); page.AddRange(ZPLCommands.ClearPrinter(ps)); Bitmap bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height); labelRenderer.DrawLabel(labelTemplate, bmp, true, GetLabelParameters()); page.AddRange(ZPLCommands.GraphicStore(bmp, 'R', "img")); page.AddRange(ZPLCommands.GraphicWrite(0, 0, "img", 'R')); page.AddRange(ZPLCommands.PrintBuffer((int)copiesUpDown.Value)); new SpoolPrinter(ps).Print(page.ToArray()); }
public void PrintLabel(string label, string printerName, LabelModel model) { if (string.IsNullOrEmpty(printerName)) { throw new Exception("Nenhuma impressora selecionada."); } var page = new List <byte>(); var printerSettings = GetPrinterSettings(printerName, model); var barCode = new Barcode { Type = BarcodeType.CODE128_AUTO, BarWidthNarrow = 3 }; page.AddRange(ZPLCommands.ClearPrinter(printerSettings)); page.AddRange(ZPLCommands.BarCodeWrite(printerSettings.AlignLeft, printerSettings.AlignTop, 100, ElementDrawRotation.NO_ROTATION, barCode, true, label)); Print(page, printerSettings); }