Пример #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);
        }
Пример #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
        /// </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());
        }
Пример #4
0
        /// <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());
        }
Пример #5
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);
        }
        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();
        }
Пример #7
0
        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();
        }
Пример #8
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;;
        }
Пример #9
0
		/// <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();
		}
Пример #10
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>
		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; ;

		}
Пример #11
0
		public System.Drawing.Image GeraImagemCodigoBarras(Boleto boleto)
		{
			C2of5i cb = new C2of5i(boleto.CodigoBarra.Codigo, 1, 50, boleto.CodigoBarra.Codigo.Length);
			return cb.ToBitmap();
		}
Пример #12
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</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;
		}
Пример #13
0
		/// <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();
		}
Пример #14
0
        public System.Drawing.Image GeraImagemCodigoBarras(Boleto boleto)
        {
            C2of5i cb = new C2of5i(boleto.CodigoBarra.Codigo, 1, 50, boleto.CodigoBarra.Codigo.Length);

            return(cb.ToBitmap());
        }
Пример #15
0
        /// <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());
        }
Пример #16
0
        /// <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();
        }