コード例 #1
0
        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);
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
        /// <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);
        }
コード例 #4
0
        /// <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;;
        }