public void Print(IRegisterDetail item) { var assembly = Assembly.LoadFrom(string.Concat(AppDomain.CurrentDomain.BaseDirectory, @"Drivers\Printer.BrotherРТ2700VP.Simple.dll")); Type t = assembly.GetExportedTypes().FirstOrDefault(x=>x.GetInterfaces().Contains(typeof(IPrinter))); if (t != null) { var printer = (IPrinter) Activator.CreateInstance(t); printer.Print(item); } }
public void Print(IRegisterDetail item) { string template = string.Concat(AppDomain.CurrentDomain.BaseDirectory, @"drivers\Simple.lbx"); string barcode = Coder.Calculate(Convert.ToUInt32(item.Id)); string name = item.DetailType.Id > 0 ? item.DetailType.Name : item.Name; bpac.DocumentClass doc = new DocumentClass(); if (doc.Open(template)) { doc.GetObject("Code").Text = barcode; doc.GetObject("InvNum").Text = item.Register.InvNumber; doc.GetObject("Name").Text = string.Format("{0}. {1}", item.Npp, name); doc.StartPrint("", PrintOptionConstants.bpoChainPrint | PrintOptionConstants.bpoAutoCut); doc.PrintOut(1, PrintOptionConstants.bpoChainPrint | PrintOptionConstants.bpoAutoCut); doc.EndPrint(); doc.Close(); } else { throw new Exception("Невозможно открыть шаблон"); } }