/// <summary> /// Função utilizada gerar o AlternateView necessário para enviar um boleto bancário por e-mail. /// </summary> /// <returns>AlternateView com os dados do boleto.</returns> public AlternateView HtmlBoletoParaEnvioEmail() { this.OnLoad(EventArgs.Empty); //MemoryStream ms = new MemoryStream(Utils.ConvertImageToByte(Html.corte)); //LinkedResource lrImagemCorte = new LinkedResource(ms, MediaTypeNames.Image.Gif); //lrImagemCorte.ContentId = "corte"; Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("BoletoNet.Imagens." + Utils.FormatCode(_ibanco.Codigo.ToString(), 3) + ".jpg"); LinkedResource lrImagemLogo = new LinkedResource(stream, MediaTypeNames.Image.Jpeg); lrImagemLogo.ContentId = "logo"; //ms = new MemoryStream(Utils.ConvertImageToByte(Html.ponto)); //LinkedResource lrImagemPonto = new LinkedResource(ms, MediaTypeNames.Image.Gif); //lrImagemPonto.ContentId = "ponto"; //ms = new MemoryStream(Utils.ConvertImageToByte(Html.barrainterna)); //LinkedResource lrImagemBarraInterna = new LinkedResource(ms, MediaTypeNames.Image.Gif); //lrImagemBarraInterna.ContentId = "barrainterna"; MemoryStream ms = new MemoryStream(Utils.ConvertImageToByte(Html.barra)); LinkedResource lrImagemBarra = new LinkedResource(ms, MediaTypeNames.Image.Gif); lrImagemBarra.ContentId = "barra"; C2of5i cb = new C2of5i(Boleto.CodigoBarra.Codigo, 1, 50, Boleto.CodigoBarra.Codigo.Length); ms = new MemoryStream(Utils.ConvertImageToByte(cb.ToBitmap())); LinkedResource lrImagemCodigoBarra = new LinkedResource(ms, MediaTypeNames.Image.Gif); lrImagemCodigoBarra.ContentId = "codigobarra"; //StringBuilder html = HtmlOffLine("cid:" + lrImagemCorte.ContentId, // "cid:" + lrImagemLogo.ContentId, // "cid:" + lrImagemBarra.ContentId, // "cid:" + lrImagemPonto.ContentId, // "cid:" + lrImagemBarraInterna.ContentId, // "cid:" + lrImagemCodigoBarra.ContentId); StringBuilder html = HtmlOffLine("cid:" + lrImagemLogo.ContentId, "cid:" + lrImagemBarra.ContentId, "cid:" + lrImagemCodigoBarra.ContentId); AlternateView av = AlternateView.CreateAlternateViewFromString(html.ToString(), Encoding.Default, "text/html"); //av.LinkedResources.Add(lrImagemCorte); //av.LinkedResources.Add(lrImagemBarraInterna); av.LinkedResources.Add(lrImagemLogo); av.LinkedResources.Add(lrImagemBarra); //av.LinkedResources.Add(lrImagemPonto); av.LinkedResources.Add(lrImagemCodigoBarra); return(av); }
/// <summary> /// Monta o Html do boleto bancário /// </summary> /// <param name="fileName">Caminho do arquivo</param> /// <returns>Html do boleto gerado</returns> public string MontaHtml(string fileName) { if (fileName == null) { fileName = System.IO.Path.GetTempPath(); } this.OnLoad(EventArgs.Empty); //string fnCorte = fileName + @"BoletoNetCorte.gif"; //if (!System.IO.File.Exists(fnCorte)) // Html.corte.Save(fnCorte); //string fnLogo = fileName + @"BoletoNet" + Utils.FormatCode(_ibanco.Codigo.ToString(), 3) + ".jpg"; string fnLogo = fileName + "logo.jpg"; if (File.Exists(fnLogo)) { File.Delete(fnLogo); } Image.FromStream(Assembly.GetExecutingAssembly(). GetManifestResourceStream("BoletoNet.Imagens." + Utils.FormatCode(_ibanco.Codigo.ToString(), 3) + ".jpg")).Save(fnLogo); //string fnPonto = fileName + @"BoletoNetPonto.gif"; //if (!System.IO.File.Exists(fnPonto)) // Html.ponto.Save(fnPonto); //string fnBarraInterna = fileName + @"BoletoNetBarraInterna.gif"; //if (!File.Exists(fnBarraInterna)) // Html.barrainterna.Save(fnBarraInterna); string fnBarra = fileName + @"BoletoNetBarra.gif"; if (!File.Exists(fnBarra)) { Html.barra.Save(fnBarra); } //string fnCodigoBarras = System.IO.Path.GetTempFileName(); string fnCodigoBarras = System.IO.Path.GetTempPath() + "\\barra.bmp"; C2of5i cb = new C2of5i(Boleto.CodigoBarra.Codigo, 1, 50, Boleto.CodigoBarra.Codigo.Length); cb.ToBitmap().Save(fnCodigoBarras); //return HtmlOffLine(fnCorte, fnLogo, fnBarra, fnPonto, fnBarraInterna, fnCodigoBarras).ToString(); //return HtmlOffLine( null , fnLogo, fnBarra, fnCodigoBarras).ToString(); return(HtmlOffLine(null, "logo.jpg", "BoletoNetBarra.gif", "barra.bmp").ToString()); }
/// <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 = System.IO.Path.GetTempPath(); } if (logoCedente != null) { vLocalLogoCedente = logoCedente; } this.OnLoad(EventArgs.Empty); string fnLogo = fileName + @"BoletoNet" + Utils.FormatCode(_ibanco.Codigo.ToString(), 3) + ".jpg"; if (!System.IO.File.Exists(fnLogo)) { Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("BoletoNet.Imagens." + Utils.FormatCode(_ibanco.Codigo.ToString(), 3) + ".jpg"); using (Stream file = File.Create(HttpContext.Current.Server.MapPath(fnLogo))) { CopiarStream(stream, file); } } string fnBarra = fileName + @"BoletoNetBarra.gif"; if (!File.Exists(fnBarra)) { ImageConverter imgConverter = new ImageConverter(); byte[] imgBuffer = (byte[])imgConverter.ConvertTo(Html.barra, typeof(byte[])); MemoryStream ms = new MemoryStream(imgBuffer); using (Stream stream = File.Create(HttpContext.Current.Server.MapPath(fnBarra))) { CopiarStream(ms, stream); ms.Flush(); ms.Dispose(); } } string fnCodigoBarras = System.IO.Path.GetTempFileName(); C2of5i cb = new C2of5i(Boleto.CodigoBarra.Codigo, 1, 50, Boleto.CodigoBarra.Codigo.Length); cb.ToBitmap().Save(fnCodigoBarras); //return HtmlOffLine(fnCorte, fnLogo, fnBarra, fnPonto, fnBarraInterna, fnCodigoBarras).ToString(); return(HtmlOffLine(null, fnLogo, fnBarra, fnCodigoBarras).ToString()); }
/// <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> static void GeraGraficosParaEmailOffLine(this BoletoBancario b, out LinkedResource lrImagemLogo, out LinkedResource lrImagemBarra, out LinkedResource lrImagemCodigoBarra) { var randomSufix = new Random().Next().ToString(); // para podermos colocar no mesmo email varios boletos diferentes Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("BoletoNet.Imagens." + Utils.FormatCode(b.Boleto.Banco.Codigo.ToString(), 3) + ".jpg"); lrImagemLogo = new LinkedResource(stream, MediaTypeNames.Image.Jpeg); lrImagemLogo.ContentId = "logo" + randomSufix; MemoryStream ms = new MemoryStream(Utils.ConvertImageToByte(Html.barra)); lrImagemBarra = new LinkedResource(ms, MediaTypeNames.Image.Gif); lrImagemBarra.ContentId = "barra" + randomSufix;; C2of5i cb = new C2of5i(b.Boleto.CodigoBarra.Codigo, 1, 50, b.Boleto.CodigoBarra.Codigo.Length); ms = new MemoryStream(Utils.ConvertImageToByte(cb.ToBitmap())); lrImagemCodigoBarra = new LinkedResource(ms, MediaTypeNames.Image.Gif); lrImagemCodigoBarra.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 = System.IO.Path.GetTempPath(); if (logoCedente != null) vLocalLogoCedente = logoCedente; this.OnLoad(EventArgs.Empty); string fnLogo = fileName + @"BoletoNet" + Utils.FormatCode(_ibanco.Codigo.ToString(), 3) + ".jpg"; if (!System.IO.File.Exists(fnLogo)) { Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("BoletoNet.Imagens." + Utils.FormatCode(_ibanco.Codigo.ToString(), 3) + ".jpg"); using (Stream file = File.Create(fnLogo)) { CopiarStream(stream, file); } } string fnBarra = fileName + @"BoletoNetBarra.gif"; if (!File.Exists(fnBarra)) { ImageConverter imgConverter = new ImageConverter(); byte[] imgBuffer = (byte[])imgConverter.ConvertTo(Html.barra, typeof(byte[])); MemoryStream ms = new MemoryStream(imgBuffer); using (Stream stream = File.Create(fnBarra)) { CopiarStream(ms, stream); ms.Flush(); ms.Dispose(); } } string fnCodigoBarras = System.IO.Path.GetTempFileName(); C2of5i cb = new C2of5i(Boleto.CodigoBarra.Codigo, 1, 50, Boleto.CodigoBarra.Codigo.Length); cb.ToBitmap().Save(fnCodigoBarras); //return HtmlOffLine(fnCorte, fnLogo, fnBarra, fnPonto, fnBarraInterna, fnCodigoBarras).ToString(); return HtmlOffLine(null, fnLogo, fnBarra, fnCodigoBarras).ToString(); }
/// <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) { this.OnLoad(EventArgs.Empty); var randomSufix = new Random().Next().ToString(); // para podermos colocar no mesmo email varios boletos diferentes Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("BoletoNet.Imagens." + Utils.FormatCode(_ibanco.Codigo.ToString(), 3) + ".jpg"); lrImagemLogo = new LinkedResource(stream, MediaTypeNames.Image.Jpeg); lrImagemLogo.ContentId = "logo" + randomSufix; MemoryStream ms = new MemoryStream(Utils.ConvertImageToByte(Html.barra)); lrImagemBarra = new LinkedResource(ms, MediaTypeNames.Image.Gif); lrImagemBarra.ContentId = "barra" + randomSufix; ; C2of5i cb = new C2of5i(Boleto.CodigoBarra.Codigo, 1, 50, Boleto.CodigoBarra.Codigo.Length); ms = new MemoryStream(Utils.ConvertImageToByte(cb.ToBitmap())); lrImagemCodigoBarra = new LinkedResource(ms, MediaTypeNames.Image.Gif); lrImagemCodigoBarra.ContentId = "codigobarra" + randomSufix; ; }
public System.Drawing.Image GeraImagemCodigoBarras(Boleto boleto) { C2of5i cb = new C2of5i(boleto.CodigoBarra.Codigo, 1, 50, boleto.CodigoBarra.Codigo.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 string 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 this.OnLoad(EventArgs.Empty); //Prepara o arquivo da logo para ser salvo string fnLogo = pathServer + @"BoletoNet" + Utils.FormatCode(_ibanco.Codigo.ToString(), 3) + ".jpg"; //Prepara o arquivo da logo para ser usado no html string fnLogoUrl = url + @"BoletoNet" + Utils.FormatCode(_ibanco.Codigo.ToString(), 3) + ".jpg"; //Salvo a imagem apenas 1 vez com o código do banco if (!System.IO.File.Exists(fnLogo)) { Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("BoletoNet.Imagens." + Utils.FormatCode(_ibanco.Codigo.ToString(), 3) + ".jpg"); using (Stream file = File.Create(fnLogo)) { CopiarStream(stream, file); } } //Prepara o arquivo da barra para ser salvo string fnBarra = pathServer + @"BoletoNetBarra.gif"; //Prepara o arquivo da barra para ser usado no html string fnBarraUrl = url + @"BoletoNetBarra.gif"; //Salvo a imagem apenas 1 vez if (!File.Exists(fnBarra)) { ImageConverter imgConverter = new ImageConverter(); byte[] imgBuffer = (byte[])imgConverter.ConvertTo(Html.barra, typeof(byte[])); MemoryStream 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 string fnCodigoBarras = string.Format("{0}{1}_codigoBarras.jpg", pathServer, fileName); //Prepara o arquivo do código de barras para ser usado no html string fnCodigoBarrasUrl = string.Format("{0}{1}_codigoBarras.jpg", url, fileName); C2of5i cb = new C2of5i(Boleto.CodigoBarra.Codigo, 1, 50, Boleto.CodigoBarra.Codigo.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) { C2of5i cb = new C2of5i(boleto.CodigoBarra.Codigo, 1, 50, boleto.CodigoBarra.Codigo.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 string 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 this.OnLoad(EventArgs.Empty); //Prepara o arquivo da logo para ser salvo string fnLogo = pathServer + @"BoletoNet" + Utils.FormatCode(_ibanco.Codigo.ToString(), 3) + ".jpg"; //Prepara o arquivo da logo para ser usado no html string fnLogoUrl = url + @"BoletoNet" + Utils.FormatCode(_ibanco.Codigo.ToString(), 3) + ".jpg"; //Salvo a imagem apenas 1 vez com o código do banco if (!System.IO.File.Exists(fnLogo)) { Image.FromStream(Assembly.GetExecutingAssembly().GetManifestResourceStream("BoletoNet.Imagens." + Utils.FormatCode(_ibanco.Codigo.ToString(), 3) + ".jpg")).Save(fnLogo); } //Prepara o arquivo da barra para ser salvo string fnBarra = pathServer + @"BoletoNetBarra.gif"; //Prepara o arquivo da barra para ser usado no html string fnBarraUrl = url + @"BoletoNetBarra.gif"; //Salvo a imagem apenas 1 vez if (!File.Exists(fnBarra)) { Html.barra.Save(fnBarra); } //Prepara o arquivo do código de barras para ser salvo string fnCodigoBarras = string.Format("{0}{1}_codigoBarras.jpg", pathServer, fileName); //Prepara o arquivo do código de barras para ser usado no html string fnCodigoBarrasUrl = string.Format("{0}{1}_codigoBarras.jpg", url, fileName); C2of5i cb = new C2of5i(Boleto.CodigoBarra.Codigo, 1, 50, Boleto.CodigoBarra.Codigo.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()); }
/// <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 = System.IO.Path.GetTempPath(); if(logoCedente != null) vLocalLogoCedente = logoCedente; this.OnLoad(EventArgs.Empty); //string fnCorte = fileName + @"BoletoNetCorte.gif"; //if (!System.IO.File.Exists(fnCorte)) // Html.corte.Save(fnCorte); string fnLogo = fileName + @"BoletoNet" + Utils.FormatCode(_ibanco.Codigo.ToString(), 3) + ".jpg"; if (!System.IO.File.Exists(fnLogo)) Image.FromStream(Assembly.GetExecutingAssembly().GetManifestResourceStream("BoletoNet.Imagens." + Utils.FormatCode(_ibanco.Codigo.ToString(), 3) + ".jpg")).Save(fnLogo); //string fnPonto = fileName + @"BoletoNetPonto.gif"; //if (!System.IO.File.Exists(fnPonto)) // Html.ponto.Save(fnPonto); //string fnBarraInterna = fileName + @"BoletoNetBarraInterna.gif"; //if (!File.Exists(fnBarraInterna)) // Html.barrainterna.Save(fnBarraInterna); string fnBarra = fileName + @"BoletoNetBarra.gif"; if (!File.Exists(fnBarra)) Html.barra.Save(fnBarra); string fnCodigoBarras = System.IO.Path.GetTempFileName(); C2of5i cb = new C2of5i(Boleto.CodigoBarra.Codigo, 1, 50, Boleto.CodigoBarra.Codigo.Length); cb.ToBitmap().Save(fnCodigoBarras); //return HtmlOffLine(fnCorte, fnLogo, fnBarra, fnPonto, fnBarraInterna, fnCodigoBarras).ToString(); return HtmlOffLine(null, fnLogo, fnBarra, fnCodigoBarras).ToString(); }