public string getCodigoBarraImageBase64() { var cb = new C2of5i(CodigoBarra.Codigo, 1, 50, CodigoBarra.Codigo.Length); string base64CodigoBarras = Convert.ToBase64String(cb.ToByte()); //string fnCodigoBarras = string.Format("data:image/gif;base64,{0}", base64CodigoBarras); return(base64CodigoBarras); }
/// <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> /// Monta o Html do boleto bancário com as imagens embutidas no conteúdo, sem necessidade de links externos /// de acordo com o padrão http://en.wikipedia.org/wiki/Data_URI_scheme /// </summary> /// <param name="convertLinhaDigitavelToImage">Converte a Linha Digitável para imagem, com o objetivo de evitar malwares.</param> /// <returns>Html do boleto gerado</returns> /// <desenvolvedor>Iuri André Stona/Olavo Rocha Neto</desenvolvedor> /// <criacao>23/01/2014</criacao> /// <alteracao>17/02/2016</alteracao> public string MontaHtmlEmbedded(bool convertLinhaDigitavelToImage = false, bool usaPdf = false, string logoCedente = null) { var assembly = Assembly.GetExecutingAssembly(); if (logoCedente != null) { Boleto.Cedente.Logo = logoCedente; } var streamLogo = assembly.GetManifestResourceStream("BoletoNet.Imagens." + CodigoBanco.ToString("000") + ".jpg"); string base64Logo = Convert.ToBase64String(new BinaryReader(streamLogo).ReadBytes((int)streamLogo.Length)); string fnLogo = string.Format("data:image/gif;base64,{0}", base64Logo); var streamBarra = assembly.GetManifestResourceStream("BoletoNet.Imagens.barra.gif"); string base64Barra = Convert.ToBase64String(new BinaryReader(streamBarra).ReadBytes((int)streamBarra.Length)); string fnBarra = string.Format("data:image/gif;base64,{0}", base64Barra); var cb = new C2of5i(Boleto.CodigoBarra.Codigo, 1, 50, Boleto.CodigoBarra.Codigo.Length); string base64CodigoBarras = Convert.ToBase64String(cb.ToByte()); string fnCodigoBarras = string.Format("data:image/gif;base64,{0}", base64CodigoBarras); if (convertLinhaDigitavelToImage) { string linhaDigitavel = Boleto.CodigoBarra.LinhaDigitavel.Replace(" ", " ").Trim(); var imagemLinha = Utils.DrawText(linhaDigitavel, new Font("Arial", 30, FontStyle.Bold), Color.Black, Color.White); string base64Linha = Convert.ToBase64String(Utils.ConvertImageToByte(imagemLinha)); string fnLinha = string.Format("data:image/gif;base64,{0}", base64Linha); Boleto.CodigoBarra.LinhaDigitavel = @"<img style=""max-width:420px; margin-bottom: 2px"" src=" + fnLinha + " />"; } string s = HtmlOffLine(fnLogo, fnBarra, fnCodigoBarras, usaPdf).ToString(); if (convertLinhaDigitavelToImage) { s = s.Replace(".w500", ""); } return(s); }
public void ProcessRequest(HttpContext context) { string code = context.Request.QueryString[0]; context.Response.Write(code); string contentType = "image/jpeg"; string filename = "barcode2of5.jpg"; context.Response.Clear(); context.Response.ContentType = contentType; context.Response.AddHeader("content-disposition", "outline;filename=" + filename); System.Drawing.Bitmap img = new C2of5i(code, 1, 50, code.Length).ToBitmap(); //img = img.GetThumbnailImage(460, 61, null, new IntPtr()) as System.Drawing.Bitmap; img.Save(context.Response.OutputStream, ImageFormat.Jpeg); img.Dispose(); //context.Response.BinaryWrite(new C2of5i(code, 1, 50, code.Length).ToByte()); context.Response.Flush(); }
/// <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 com as imagens embutidas no conteúdo, sem necessidade de links externos /// de acordo com o padrão http://en.wikipedia.org/wiki/Data_URI_scheme /// </summary> /// <param name="convertLinhaDigitavelToImage">Converte a Linha Digitável para imagem, com o objetivo de evitar malwares.</param> /// <returns>Html do boleto gerado</returns> /// <desenvolvedor>Iuri André Stona</desenvolvedor> /// <criacao>23/01/2014</criacao> /// <alteracao>08/08/2014</alteracao> public string MontaHtmlEmbedded(bool convertLinhaDigitavelToImage = false, bool usaCSSPDF = false) { OnLoad(EventArgs.Empty); var assembly = Assembly.GetExecutingAssembly(); var streamLogo = assembly.GetManifestResourceStream("BoletoNet.Imagens." + CodigoBanco.ToString("000") + ".jpg"); string base64Logo = Convert.ToBase64String(new BinaryReader(streamLogo).ReadBytes((int)streamLogo.Length)); string fnLogo = string.Format("data:image/gif;base64,{0}", base64Logo); var streamBarra = assembly.GetManifestResourceStream("BoletoNet.Imagens.barra.gif"); string base64Barra = Convert.ToBase64String(new BinaryReader(streamBarra).ReadBytes((int)streamBarra.Length)); string fnBarra = string.Format("data:image/gif;base64,{0}", base64Barra); var cb = new C2of5i(Boleto.CodigoBarra.Codigo, 1, 50, Boleto.CodigoBarra.Codigo.Length); string base64CodigoBarras = Convert.ToBase64String(cb.ToByte()); string fnCodigoBarras = string.Format("data:image/gif;base64,{0}", base64CodigoBarras); if (convertLinhaDigitavelToImage) { string linhaDigitavel = Boleto.CodigoBarra.LinhaDigitavel.Replace(" ", " ").Trim(); var imagemLinha = Utils.DrawText(linhaDigitavel, new Font("Arial", 30, FontStyle.Bold), Color.Black, Color.White); string base64Linha = Convert.ToBase64String(Utils.ConvertImageToByte(imagemLinha)); string fnLinha = string.Format("data:image/gif;base64,{0}", base64Linha); Boleto.CodigoBarra.LinhaDigitavel = @"<img style=""max-width:420px; margin-bottom: 2px"" src=" + fnLinha + " />"; } string s = HtmlOffLine(null, fnLogo, fnBarra, fnCodigoBarras, usaCSSPDF).ToString(); if (convertLinhaDigitavelToImage) { s = s.Replace(".w500", ""); } return s; }
/// <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(); }