public static bool Imprima(string pNume, string pCod) { try { _SNume = pNume; _SCod = CUtil.AdaugaZeroPentruMinimCaractere(pCod, 4); //1. Verificam in config daca avem o imprimanta preferata pentru codurile de bare string cheiePrinter = CGestiuneIO.GetValoareDupaTipCheie(CGestiuneIO.EnumTipCheie.BCPRINTER); string printerName = string.Empty; if (string.IsNullOrEmpty(cheiePrinter)) { //2.2. Daca nu avem atunci deschidem fereastra de selectie a imprimantei si apoi o vom retine in config pentru utilizarile ulterioare using (PrintDialog PrintDialog = new PrintDialog()) { PrintDialog.ShowDialog(); printerName = PrintDialog.PrinterSettings.PrinterName; if (!string.IsNullOrEmpty(printerName)) { CGestiuneIO.SeteazaCheiePrinter(printerName); } } } else { //2.1. Daca avem key = "BCPRINTER" atunci o selectam si o folosim pentru imprimare printerName = cheiePrinter; } //3. Setam preferintele de imprimare if (!string.IsNullOrEmpty(printerName)) { using (PrintDocument pd = new PrintDocument()) { pd.PrinterSettings.PrinterName = printerName; PaperSize paperSize = new PaperSize("Barcode", _SWidthInchSutimi, _SHeightInchSutimi); pd.DefaultPageSettings.PaperSize = paperSize; pd.DefaultPageSettings.Margins = new Margins(3, 3, 3, 3); //4. Imprimam efectiv pd.PrintPage += Document_PrintPage; pd.EndPrint += Pd_EndPrint; pd.BeginPrint += Pd_BeginPrint; pd.Print(); return(true); } } } catch (Exception) { } return(false); }