Exemple #1
0
        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>
        /// 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);
        }
		/// <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;
		}