/// <summary> /// Gera as tres imagens necessárias para o Boleto /// </summary> /// <param name="lrImagemLogo">O Logo do Banco</param> /// <param name="lrImagemBarra">A Barra Horizontal</param> /// <param name="lrImagemCodigoBarra">O Código de Barras</param> void GeraGraficosParaEmailOffLine(out LinkedResource lrImagemLogo, out LinkedResource lrImagemBarra, out LinkedResource lrImagemCodigoBarra) { OnLoad(EventArgs.Empty); var randomSufix = new Random().Next().ToString(); // para podermos colocar no mesmo email varios boletos diferentes var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("Boleto2Net.Imagens." + Utils.FormatCode(Boleto.Banco.Codigo.ToString(), 3) + ".jpg"); lrImagemLogo = new LinkedResource(stream, MediaTypeNames.Image.Jpeg) { ContentId = "logo" + randomSufix }; var ms = new MemoryStream(Utils.ConvertImageToByte(Html.barra)); lrImagemBarra = new LinkedResource(ms, MediaTypeNames.Image.Gif) { ContentId = "barra" + randomSufix }; var cb = new BarCode2of5i(Boleto.CodigoBarra.CodigoDeBarras, _withBarras, _heightBarras, Boleto.CodigoBarra.CodigoDeBarras.Length); ms = new MemoryStream(Utils.ConvertImageToByte(cb.ToBitmap())); lrImagemCodigoBarra = new LinkedResource(ms, MediaTypeNames.Image.Gif) { ContentId = "codigobarra" + randomSufix }; }
/// <summary> /// Monta o Html do boleto bancário /// </summary> /// <param name="fileName">Caminho do arquivo</param> /// <param name="fileName">Caminho do logo do cedente</param> /// <returns>Html do boleto gerado</returns> public string MontaHtml(string fileName, string logoCedente) { if (fileName == null) { fileName = Path.GetTempPath(); } if (logoCedente != null) { _vLocalLogoCedente = logoCedente; } OnLoad(EventArgs.Empty); var fnLogo = fileName + @"BoletoNet" + Utils.FormatCode(Boleto.Banco.Codigo.ToString(), 3) + ".jpg"; if (!File.Exists(fnLogo)) { var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("Boleto2Net.Imagens." + Utils.FormatCode(Boleto.Banco.Codigo.ToString(), 3) + ".jpg"); using (Stream file = File.Create(fnLogo)) { CopiarStream(stream, file); } } var fnBarra = fileName + @"BoletoNetBarra.gif"; if (!File.Exists(fnBarra)) { var imgConverter = new ImageConverter(); var imgBuffer = (byte[])imgConverter.ConvertTo(Html.barra, typeof(byte[])); var ms = new MemoryStream(imgBuffer); using (Stream stream = File.Create(fnBarra)) { CopiarStream(ms, stream); ms.Flush(); ms.Dispose(); } } var fnCodigoBarras = Path.GetTempFileName(); var cb = new BarCode2of5i(Boleto.CodigoBarra.CodigoDeBarras, _withBarras, _heightBarras, Boleto.CodigoBarra.CodigoDeBarras.Length); cb.ToBitmap().Save(fnCodigoBarras); //return HtmlOffLine(fnCorte, fnLogo, fnBarra, fnPonto, fnBarraInterna, fnCodigoBarras).ToString(); return(HtmlOffLine(null, fnLogo, fnBarra, fnCodigoBarras).ToString()); }
public Image GeraImagemCodigoBarras(Boleto boleto) { var cb = new BarCode2of5i(boleto.CodigoBarra.CodigoDeBarras, _withBarras, _heightBarras, boleto.CodigoBarra.CodigoDeBarras.Length); return(cb.ToBitmap()); }
/// <summary> /// Monta o Html do boleto bancário para View ASP.Net MVC /// <code> /// <para>Exemplo:</para> /// <para>public ActionResult VisualizarBoleto(string Id)</para> /// <para>{</para> /// <para> BoletoBancario bb = new BoletoBancario();</para> /// <para> //...</para> /// <para> ViewBag.Boleto = bb.MontaHtml("/Content/Boletos/", "teste1");</para> /// <para> return View();</para> /// <para>}</para> /// <para>//Na view</para> /// <para>@{Layout = null;}@Html.Raw(ViewBag.Boleto)</para> /// </code> /// </summary> /// <param name="Url">Pasta dos boletos. Exemplo MontaHtml("/Content/Boletos/", "000100")</param> /// <param name="fileName">Nome do arquivo para o boleto</param> /// <returns>Html do boleto gerado</returns> /// <desenvolvedor>Sandro Ribeiro</desenvolvedor> /// <criacao>16/11/2012</criacao> public string MontaHtml(string url, string fileName, bool useMapPathSecure = true) { //Variável para o caminho físico do servidor var pathServer = ""; //Verifica se o usuário informou uma url válida if (url == null) { //Obriga o usuário a especificar uma url válida throw new ArgumentException("Você precisa informar uma pasta padrão."); } else { if (useMapPathSecure) { //Verifica se o usuário usou barras no início e no final da url if (url.Substring(url.Length - 1, 1) != "/") { url = url + "/"; } if (url.Substring(0, 1) != "/") { url = url + "/"; } //Mapeia o caminho físico dos arquivos pathServer = MapPathSecure(string.Format("~{0}", url)); } //Verifica se o caminho existe if (!Directory.Exists(pathServer)) { throw new ArgumentException("A o caminho físico '{0}' não existe.", pathServer); } } //Verifica o nome do arquivo if (fileName == null) { fileName = DateTime.Now.Ticks.ToString(); } else { if (fileName == "") { fileName = DateTime.Now.Ticks.ToString(); } } //Mantive o padrão OnLoad(EventArgs.Empty); //Prepara o arquivo da logo para ser salvo var fnLogo = pathServer + @"BoletoNet" + Utils.FormatCode(Boleto.Banco.Codigo.ToString(), 3) + ".jpg"; //Prepara o arquivo da logo para ser usado no html var fnLogoUrl = url + @"BoletoNet" + Utils.FormatCode(Boleto.Banco.Codigo.ToString(), 3) + ".jpg"; //Salvo a imagem apenas 1 vez com o código do banco if (!File.Exists(fnLogo)) { var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("Boleto2Net.Imagens." + Utils.FormatCode(Boleto.Banco.Codigo.ToString(), 3) + ".jpg"); using (Stream file = File.Create(fnLogo)) { CopiarStream(stream, file); } } //Prepara o arquivo da barra para ser salvo var fnBarra = pathServer + @"BoletoNetBarra.gif"; //Prepara o arquivo da barra para ser usado no html var fnBarraUrl = url + @"BoletoNetBarra.gif"; //Salvo a imagem apenas 1 vez if (!File.Exists(fnBarra)) { var imgConverter = new ImageConverter(); var imgBuffer = (byte[])imgConverter.ConvertTo(Html.barra, typeof(byte[])); var ms = new MemoryStream(imgBuffer); using (Stream stream = File.Create(fnBarra)) { CopiarStream(ms, stream); ms.Flush(); ms.Dispose(); } } //Prepara o arquivo do código de barras para ser salvo var fnCodigoBarras = string.Format("{0}{1}_codigoBarras.jpg", pathServer, fileName); //Prepara o arquivo do código de barras para ser usado no html var fnCodigoBarrasUrl = string.Format("{0}{1}_codigoBarras.jpg", url, fileName); var cb = new BarCode2of5i(Boleto.CodigoBarra.CodigoDeBarras, _withBarras, _heightBarras, Boleto.CodigoBarra.CodigoDeBarras.Length); //Salva o arquivo conforme o fileName cb.ToBitmap().Save(fnCodigoBarras); //Retorna o Html para ser usado na view return(HtmlOffLine(null, fnLogoUrl, fnBarraUrl, fnCodigoBarrasUrl).ToString()); }
public System.Drawing.Image GeraImagemCodigoBarras(Boleto boleto) { BarCode2of5i cb = new BarCode2of5i(boleto.CodigoBarra.CodigoDeBarras, 1, 50, boleto.CodigoBarra.CodigoDeBarras.Length); return(cb.ToBitmap()); }
public Image GeraImagemCodigoBarras(Boleto boleto) { var cb = new BarCode2of5i(boleto.CodigoBarra.CodigoDeBarras, 1, 50, boleto.CodigoBarra.CodigoDeBarras.Length); return cb.ToBitmap(); }