void _worker_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e) { try { List <object> genericlist = e.Argument as List <object>; var Lista = (List <CodigosDat>)genericlist[0]; var estilo = (string)genericlist[1]; var bandI = (bool)genericlist[2]; BackgroundWorker worker = sender as BackgroundWorker; // foreach (var item in Lista) { if (item.Estado.Equals("Generado") || bandI) { LocalReport rdlc = new LocalReport(); //rdlc.ReportPath = @"..\..\VentanasSec\ReportTicket.rdlc"; rdlc.ReportPath = @"C:\ReportTicket.rdlc"; Barcode b = new Barcode(); b.IncludeLabel = true; b.Alignment = AlignmentPositions.CENTER; b.LabelFont = new Font(System.Drawing.FontFamily.GenericMonospace, 20 * Barcode.DotsPerPointAt96Dpi, System.Drawing.FontStyle.Regular, GraphicsUnit.Pixel); b.LabelPosition = LabelPositions.BOTTOMCENTER; var img = b.Encode(TYPE.CODE128, item.codigoBarra.Trim(), System.Drawing.Color.Black, System.Drawing.Color.White, 290, 90); List <resultTicket> T = new List <resultTicket>(); using (MemoryStream ms = new MemoryStream()) { img.Save(ms, ImageFormat.Png); var objnewImg = new resultTicket { POrder = item.POrder, Size = item.Size, Estilo = estilo, Cantidad = item.Cantidad, codigoBarra = item.codigoBarra, Img = ms.ToArray() }; T.Add(objnewImg); ms.Dispose(); } rdlc.DataSources.Add(new ReportDataSource("DataSet2", T)); using (ImprimirTicket imp = new ImprimirTicket()) { imp.Imprime(rdlc); } Task.Run(() => { return(ActualizarEstado(item.codigoBarra)); }); } } #region codigo funcional dejado en comentario debido a que bartender no se puede instalar en algunas maquinas /* var lb = @"D:\ticketUni.btw"; * using (Engine engine = new Engine(true)) * { * engine.Start(); * * foreach (var item in Lista) * { * if (item.Estado.Equals("Generado") || bandI) * { * * LabelFormatDocument btformate = engine.Documents.Open(lb); * btformate.SubStrings["lblcorte"].Value = item.POrder.Trim(); * btformate.SubStrings["lbltalla"].Value = item.Size.TrimEnd(); * btformate.SubStrings["lblcodigo"].Value = item.codigoBarra.TrimEnd(); * btformate.SubStrings["lblestilo"].Value = estilo.TrimEnd(); * btformate.SubStrings["lblcantidad"].Value = item.Cantidad.ToString(); * * var resp = btformate.Print(); * * * * Task.Run(() => { return ActualizarEstado(item.codigoBarra); }); * } * } * * * //engine.Start(); * // btformate.PrinterCodeTemplate.Performance.AllowSerialization = false; * // btformate.ExportImageToClipboard(Seagull.BarTender.Print.ColorDepth.ColorDepth256, new Resolution(200)); * // btformat.Close(BarTender.BtSaveOptions.btDoNotSaveChanges); * engine.Stop(); * } */ #endregion } catch (Exception ex) { MessageBox.Show(ex.Message); // throw; } }