public string getLinhaDigitavelImageBase64() { string linhaDigitavel = 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); return(base64Linha); }
/// <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); }