/// <summary> /// Desenha o boleto bancario em si -- boleto do banco /// </summary> private void DesenharBoleto(bool bEscreverLancamentosEmAnexo) { float linhaDireita = 14; float linha= alturaBoleto; Font f = new Font("Arial", 9, FontStyle.Bold); string da; float w, h, altura; if(bEscreverLancamentosEmAnexo) DesenharDescricaoCampo(cabLancHist, linha - 0.7f, "", "Descrição dos lançamentos em anexo."); string obs = Parametro.GetParametroPorNome("ObservacaoLancamentoGuia"); //retangulo obs DesenharRetagulo(pontoXInicial, linha, pontoXFinal, linha+alturaLinha); DesenharLinhaVertical(cabLancVenc, linha, linha+alturaLinha); DesenharDescricaoCampo(posicaoEsquerda, linha, "Obs.", obs); da = "Total em R$"; w = GetComprimentoStringCentrimentros(f, da); rep.RenderDirectText(RetornaStringPosicao(cabLancVenc+0.2f), RetornaStringPosicao(linha+0.2f), da, RetornaStringPosicao(w), f, Color.Black, AlinharEsquerda()); if(guia.valorGuia > 1000) { da = guia.valorGuia.ToString("0,000.00"); w = GetComprimentoStringCentrimentros(f, da); rep.RenderDirectText(RetornaStringPosicao(pontoXFinal-w-0.2f), RetornaStringPosicao(linha+0.2f), da, RetornaStringPosicao(w), f, Color.Black, AlinharDireita()); } else { da = guia.valorGuia.ToString("0.00"); w = GetComprimentoStringCentrimentros(f, da); rep.RenderDirectText(RetornaStringPosicao(pontoXFinal-w-0.2f), RetornaStringPosicao(linha+0.2f), da, RetornaStringPosicao(w), f, Color.Black, AlinharDireita()); } f = new Font("Tahoma", 9); linha += alturaLinha; da = "Autenticação Mecânica"; rep.RenderDirectText(RetornaStringPosicao(posicaoEsquerda), RetornaStringPosicao(linha), da, GetComprimentoStringCentrimentros(f, da), f, Color.Gray , AlinharEsquerda()); da = "RECIBO DO SACADO"; w = GetComprimentoStringCentrimentros(f,da); //rep.RenderDirectText(RetornaStringPosicao(pontoXFinal-w), RetornaStringPosicao(linha), da, // GetComprimentoStringCentrimentros(f, da), f, Color.Gray , AlinharDireita()); h = GetAlturaStringCentrimentros(f, da); linha += h; //desenho da linha de separacao da = "---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------"; rep.RenderDirectText(RetornaStringPosicao(posicaoEsquerda), RetornaStringPosicao(linha), da, GetComprimentoStringCentrimentros(fontDescricao, da), fontDescricao, Color.Gray , AlinharEsquerda()); h = GetAlturaStringCentrimentros(fontDescricao, da); linha += h; f = new Font("Tahoma", 10); da = "FICHA DE COMPENSAÇÃO"; w = GetComprimentoStringCentrimentros(f,da); rep.RenderDirectText(RetornaStringPosicao(pontoXFinal-w), RetornaStringPosicao(linha), da, RetornaStringPosicao(w), f, Color.Black, AlinharDireita()); h = GetAlturaStringCentrimentros(f, da); linha += h; altura= linha+1.1f; DesenharRetagulo(pontoXInicial, linha, pontoXFinal, altura); //linha logo banco DesenharLinhaVertical(4, linha, altura); string banco = cb.banco.nome.Trim(); string texto = banco.PadLeft(banco.Length < 14 ? banco.Length / 2 + 7 : 0, ' '); string pathLogoBanco = Parametro.GetParametroPorNome("ArquivoLogotipoBanco"); if (pathLogoBanco != null && pathLogoBanco != "") { try { //Original //Image imgLogo = Image.FromFile(pathLogoBanco); //rep.RenderDirectImage(posicaoEsquerda, RetornaStringPosicao(linha + 0.1f), imgLogo); //imgLogo.Dispose(); //Replicado do primeiro logo (DAS) //Image imgLogo = Image.FromFile(pathLogoBanco); C1.C1PrintDocument.ImageAlignDef align = new C1.C1PrintDocument.ImageAlignDef(); //align.StretchHorz = true; align.StretchVert = true; align.AlignHorz = C1.C1PrintDocument.ImageAlignHorzEnum.Center; align.AlignVert = C1.C1PrintDocument.ImageAlignVertEnum.Center; rep.RenderDirectImage(posicaoEsquerda, RetornaStringPosicao(linha + 0.2f), imgLogo, 3.5f, 0.6f, align); //imgLogo.Dispose(); } catch (Exception ex) { Utils.RegisterLogEvento("Problema ao carregar o arquivo de Logotipo do Banco no RelatórioGuia. Erro: " + ex.Message, "GuiaRecolhimento", Utils.EventType.Error, ex.StackTrace, null); f = new Font("Arial", 12, FontStyle.Bold); w = GetComprimentoStringCentrimentros(f, texto); rep.RenderDirectText(posicaoEsquerda, RetornaStringPosicao(linha + 0.3f), texto, w, f, Color.Black, AlinharEsquerda()); } } else { f = new Font("Arial", 12, FontStyle.Bold); w = GetComprimentoStringCentrimentros(f, texto); rep.RenderDirectText(posicaoEsquerda, RetornaStringPosicao(linha + 0.3f), texto, w, f, Color.Black, AlinharEsquerda()); } //linha banco DesenharLinhaVertical(7, linha, altura); f = new Font("Arial", 16, FontStyle.Bold); string codBanco = cb.banco.codBanco+"-"+cb.banco.digito; w = GetComprimentoStringCentrimentros(f, codBanco); rep.RenderDirectText(RetornaStringPosicao(4.7f), RetornaStringPosicao(linha+0.45f), codBanco, RetornaStringPosicao(w), f, Color.Black, AlinharEsquerda()); f = new Font("Arial", 13, FontStyle.Bold); string linhaDigitavel; //lbNossoNumero.Text = ebb.CalculoNossoNumeroFormatado(gr.numGuia.ToString() + gr.numParcela.ToString(), cb.codCarteira); string tipoAmbiente = Parametro.GetParametroPorNome("TipoAmbiente").ToUpper(); if (tipoAmbiente == "PRODUCAO") linhaDigitavel = ebb.CalculoLinhaDigitavel(cb.banco.codBanco, guia.numGuia.ToString() + (guia.numParcela.ToString().PadLeft(2, '0')), cb.codAgencia, cb.numConvenioLider, cb.codCarteira, cb.numConta, guia.dataVencimento, guia.valorGuia); else linhaDigitavel = "00000.00000 00000.000000 00000.000000 0 00000000000000";// "0".PadLeft(47, '0'); w = GetComprimentoStringCentrimentros(f, linhaDigitavel); rep.RenderDirectText(RetornaStringPosicao(7.1f), RetornaStringPosicao(linha+0.45f), linhaDigitavel,RetornaStringPosicao(w), f, Color.Black, AlinharEsquerda()); linha = altura; float yfim = linha + alturaLinha; DesenharRetagulo(pontoXInicial, linha, pontoXFinal, yfim); f = new Font("Arial", 10, FontStyle.Bold); da = Parametro.GetParametroPorNome("DescricaoLocalPagamento"); //"Pagável em qualquer banco até a data de vencimento"; DesenharDescricaoCampo(posicaoEsquerda, linha, "Local de Pagamento", da); DesenharLinhaVertical(14, linha, yfim); f = new Font("Arial", 14, FontStyle.Bold); w = GetComprimentoStringCentrimentros(f, guia.dataVencimento.ToString("dd/MM/yyyy")); DesenharDescricaoCampo(linhaDireita, linha, "Vencimento", ""); rep.RenderDirectText(RetornaStringPosicao(15.3f),RetornaStringPosicao(linha), guia.dataVencimento.ToString("dd/MM/yyyy"), RetornaStringPosicao(w), f, Color.Black, AlinharCentro()); linha = yfim; yfim = linha + alturaLinha; //linha agencia DesenharRetagulo(pontoXInicial, linha, pontoXFinal, yfim); f = new Font("Arial", 10); string cedente = Parametro.GetParametroPorNome("TextoCedenteBoleto"); if (cedente.Trim() == "") { string nomePM = Parametro.GetParametroPorNome("NomePrefeitura"); string secretariaPM = Parametro.GetParametroPorNome("NomeSecretaria"); cedente = nomePM + " - " + secretariaPM; } linha -= 0.02f; DesenharDescricaoCampo(posicaoEsquerda, linha, "Cedente", cedente); DesenharLinhaVertical(linhaDireita, linha, yfim); string agenciacodigocedente = ebb.CalculoAgenciaCedente(cb.codAgencia, cb.digitoAgencia, cb.numConvenioLider, cb.numConta, cb.digitoConta);//ebb.CalculoAgenciaCedente(cb.codAgencia, cb.numConvenioLider, cb.numConta); //agenciacodigocedente = cb.codAgencia.Trim()+"-"+cb.digitoAgencia.Trim()+"/"+cb.numConta.Trim()+"-"+cb.digitoConta.Trim(); w = GetComprimentoStringCentrimentros(f, agenciacodigocedente); DesenharDescricaoCampo(linhaDireita, linha, "Agência Código Cedente", ""); rep.RenderDirectText(RetornaStringPosicao(pontoXFinal-w-0.2f),RetornaStringPosicao(linha+0.3f), agenciacodigocedente, RetornaStringPosicao(w), f, Color.Black, AlinharDireita()); linha = yfim-0.05f; yfim = linha + alturaLinha; //linha nosso numero DesenharRetagulo(pontoXInicial, linha, pontoXFinal, yfim); //linha data DesenharLinhaVertical(3.2f, linha, yfim); DesenharDescricaoCampo(posicaoEsquerda, linha, "Data Documento", guia.dataEmissao.ToString("dd/MM/yyyy")); //linha n doc DesenharLinhaVertical(6, linha, yfim); DesenharDescricaoCampo(3.2f, linha, "Nº do Documento", guia.numGuia.ToString()+"-"+guia.numParcela.ToString()); DesenharDescricaoCampo(6, linha, "Espécie Doc.", ""); //linha especie DesenharLinhaVertical(9, linha, yfim); DesenharDescricaoCampo(9, linha, "Aceite", ""); //linha aceite DesenharLinhaVertical(10.5f, linha, yfim); DesenharDescricaoCampo(10.5f, linha, "Data do Processamento", DateTime.Now.ToString("dd/MM/yyyy")); DesenharLinhaVertical(linhaDireita, linha, yfim); //nosso numero string nossonumero; nossonumero = ebb.CalculoNossoNumeroFormatado(guia.numGuia.ToString() + (guia.numParcela.ToString().PadLeft(2,'0')), cb);//cb.numConvenioLider, cb.codCarteira); DesenharDescricaoCampo(linhaDireita, linha, "Nosso Número", ""); w = GetComprimentoStringCentrimentros(f, nossonumero); rep.RenderDirectText(RetornaStringPosicao(pontoXFinal-w-0.2f),RetornaStringPosicao(linha+0.3f), nossonumero, RetornaStringPosicao(w), f, Color.Black, AlinharDireita()); linha = yfim; yfim = linha + alturaLinha; //linha valor do documento DesenharRetagulo(pontoXInicial, linha, pontoXFinal, yfim); //linha data DesenharLinhaVertical(3.2f, linha, yfim); DesenharDescricaoCampo(posicaoEsquerda, linha, "Uso do Banco", ""); //linha carteira DesenharLinhaVertical(4.5f, linha, yfim); DesenharDescricaoCampo(3.2f, linha, "Carteira", cb.codCarteira); //linha especie DesenharLinhaVertical(8.5f, linha, yfim); DesenharDescricaoCampo(4.5f, linha, "Espécie", "Real"); //linha valor DesenharLinhaVertical(10.5f, linha, yfim); DesenharDescricaoCampo(8.5f, linha, "Quantidade", ""); DesenharDescricaoCampo(10.5f, linha, "Valor", ""); DesenharLinhaVertical(linhaDireita, linha, yfim); DesenharDescricaoCampo(linhaDireita, linha, "(=) Valor do Documento", ""); if(guia.valorGuia > 999) { w = GetComprimentoStringCentrimentros(f, guia.valorGuia.ToString("0,000.00")); rep.RenderDirectText(RetornaStringPosicao(pontoXFinal-w-0.2f),RetornaStringPosicao(linha+0.3f), guia.valorGuia.ToString("0,000.00"), RetornaStringPosicao(w), f, Color.Black, AlinharDireita()); } else { w = GetComprimentoStringCentrimentros(f, guia.valorGuia.ToString("0.00")); rep.RenderDirectText(RetornaStringPosicao(pontoXFinal-w-0.2f),RetornaStringPosicao(linha+0.3f), guia.valorGuia.ToString("0.00"), RetornaStringPosicao(w), f, Color.Black, AlinharDireita()); } linha = yfim; yfim = linha + alturaLinha; float linhaaux=0; //Retangulo desconto DesenharRetagulo(linhaDireita, linha, pontoXFinal, linha+alturaLinha); DesenharDescricaoCampo(linhaDireita, linha, "(-) Desconto/Abatimento", ""); linhaaux = linha+alturaLinha; //Retangulo outras deducoes DesenharRetagulo(linhaDireita, linhaaux, pontoXFinal, linhaaux+alturaLinha); DesenharDescricaoCampo(linhaDireita, linhaaux, "(-) Outras Deduções", ""); linhaaux += alturaLinha; //retangulo mora DesenharRetagulo(linhaDireita, linhaaux, pontoXFinal, linhaaux+alturaLinha); DesenharDescricaoCampo(linhaDireita, linhaaux, "(+) Mora/Multa", ""); linhaaux += alturaLinha; //retangulo outros acrescimos DesenharRetagulo(linhaDireita, linhaaux, pontoXFinal, linhaaux+alturaLinha); DesenharDescricaoCampo(linhaDireita, linhaaux, "(+) Outros Acréscimos", ""); linhaaux += alturaLinha; //retangulo outros acrescimos DesenharRetagulo(linhaDireita, linhaaux, pontoXFinal, linhaaux+alturaLinha); DesenharDescricaoCampo(linhaDireita, linhaaux, "(=) Valor Total Cobrado", ""); linhaaux += alturaLinha; //retangulo observacoes DesenharRetagulo(pontoXInicial, linha, linhaDireita, linhaaux); DesenharDescricaoCampo(posicaoEsquerda, linha, "Instruções (texto de responsabilidade exclusiva do Cedente)", ""); Font ft = new Font("Arial", 8); string info1 = Parametro.GetParametroPorNome("Info1Guia"); if(info1 == null) info1 = " "; else if(info1.Equals("")) info1 = " "; rep.RenderDirectText(RetornaStringPosicao(posicaoEsquerda), RetornaStringPosicao(linha+0.4f), info1, RetornaStringPosicao(13.5f), ft, Color.Black, AlinharEsquerda()); string info2 = Parametro.GetParametroPorNome("Info2Guia"); if(info2 == null) info2 = " "; else if(info2.Equals("")) info2 = " "; rep.RenderDirectText(RetornaStringPosicao(posicaoEsquerda), RetornaStringPosicao(linha+0.93f), info2, RetornaStringPosicao(13.5f), ft, Color.Black, AlinharEsquerda()); string info3 = Parametro.GetParametroPorNome("Info3Guia"); if(info3 == null) info3 = " "; else if(info3.Equals("")) info3 = " "; rep.RenderDirectText(RetornaStringPosicao(posicaoEsquerda), RetornaStringPosicao(linha+1.4f), info3, RetornaStringPosicao(13.5f), ft, Color.Black, AlinharEsquerda()); string info4 = Parametro.GetParametroPorNome("Info4Guia"); if(info4 == null) info4 = " "; else if(info4.Equals("")) info4 = " "; rep.RenderDirectText(RetornaStringPosicao(posicaoEsquerda), RetornaStringPosicao(linha+1.9f), info4, RetornaStringPosicao(13.5f), ft, Color.Black, AlinharEsquerda()); string info5 = guia.info1; ft = new Font("Arial", 8,FontStyle.Bold); if(info5 != null) rep.RenderDirectText(RetornaStringPosicao(posicaoEsquerda), RetornaStringPosicao(linha+2.6f), info5, RetornaStringPosicao(13.5f), ft, Color.Black, AlinharEsquerda()); ft = new Font("Arial", 10, FontStyle.Bold); rep.RenderDirectText(RetornaStringPosicao(posicaoEsquerda), RetornaStringPosicao(linhaaux-0.5f), "NÃO RECEBER APÓS "+guia.dataValidade.ToString("dd/MM/yyyy"), RetornaStringPosicao(13.5f), ft, Color.Black, AlinharEsquerda()); DesenharRetagulo(pontoXInicial, linhaaux, pontoXFinal, linhaaux+1.1f); //retangulo Sacado DesenharDescricaoCampo(posicaoEsquerda, linhaaux, "Sacado", ""); int tamNomeContribuinte = guia.contribuinte.nome.Length; string contrib = guia.contribuinte.inscricao.Trim() + " - " + guia.contribuinte.nome.Substring(0, tamNomeContribuinte > 60 ? 60 : tamNomeContribuinte).ToUpper() + " - CPF/CNPJ: " + guia.contribuinte.numDocReceita; w = GetComprimentoStringCentrimentros(f, contrib); rep.RenderDirectText(RetornaStringPosicao(posicaoEsquerda+0.5f), RetornaStringPosicao(linhaaux+0.3f), contrib, RetornaStringPosicao(w), f, Color.Black, AlinharEsquerda()); h = GetAlturaStringCentrimentros(f, contrib); linhaaux += h; Contribuinte c = guia.contribuinte; c.Retrieve(); Logradouro l = c.logradouroCarta; string linhaenderecoCarta = ""; if(l != null) { l.Retrieve(); if (l.nome != "N/D" && l.nome.ToUpper() != "NÃO DISPONÍVEL") { l.cidade.Retrieve(); linhaenderecoCarta = ""; if (l.tipoLogradouro != null) linhaenderecoCarta += l.tipoLogradouro.descricao.Trim() + " "; if (l.nome != null) linhaenderecoCarta += l.nome.Trim(); if (c.numeroCarta != null) linhaenderecoCarta += ", " + c.numeroCarta.Trim() + " "; if (c.complementoCarta != null) linhaenderecoCarta += c.complementoCarta.Trim(); if (l.bairro != null) linhaenderecoCarta += " " + l.bairro.nome.Trim(); if (l.cidade != null) { linhaenderecoCarta += " " + l.cidade.nome.Trim(); if (l.cidade.uf != null) linhaenderecoCarta += "-" + l.cidade.uf.uf.Trim(); } } else { linhaenderecoCarta = ""; } } w = GetComprimentoStringCentrimentros(f, linhaenderecoCarta); rep.RenderDirectText(RetornaStringPosicao(posicaoEsquerda+0.5f), RetornaStringPosicao(linhaaux+0.1f), linhaenderecoCarta, RetornaStringPosicao(w), f, Color.Black, AlinharEsquerda()); h = GetComprimentoStringCentrimentros(f, linhaenderecoCarta); //linhaaux += h; da = "AUTENTICAÇÃO MECÂNICA"; w = GetComprimentoStringCentrimentros(fontDescricao, da); rep.RenderDirectText(RetornaStringPosicao(linhaDireita+0.7f), RetornaStringPosicao(linhaaux+0.6f), da, RetornaStringPosicao(w), fontDescricao, Color.Gray, AlinharEsquerda()); da = "FICHA DE COMPENSAÇÃO"; w = GetComprimentoStringCentrimentros(fontCompensa, da); rep.RenderDirectText(RetornaStringPosicao(linhaDireita + 0.7f), RetornaStringPosicao(linhaaux + 0.9f), da, RetornaStringPosicao(w), fontCompensa, Color.Gray, AlinharEsquerda()); //codigo de barras string nossonum = guia.numGuia.ToString()+(guia.numParcela.ToString().PadLeft(2, '0')); string codBarras; if (tipoAmbiente == "PRODUCAO") codBarras = ebb.CalculoCodigoBarras(cb.banco.codBanco, nossonum, cb.codAgencia, cb.numConvenioLider, cb.codCarteira, cb.numConta, guia.dataVencimento, guia.valorGuia); else codBarras = "0".PadLeft(47, '0'); //string codBarras = ebb.CalculoCodigoBarras(cb.banco.codBanco, nossonum, cb.codAgencia, cb.numConvenioLider, cb.codCarteira, cb.numConta, guia.dataVencimento, guia.valorGuia); Bitmap objBitmap = Utils.DesenhaCodigoBarrasInterleaved2of5(codBarras); String pathAbsoluto = PathAplicacao + "\\" + Parametro.GetParametroPorNome("SubDiretorioTempFigCodBarra") + "\\"; if(!Directory.Exists(pathAbsoluto)) Directory.CreateDirectory(pathAbsoluto); string pathRelativo = Parametro.GetParametroPorNome("SubDiretorioTempFigCodBarra") + "/"; //string nomeArquivo = DateTime.Now.ToString("yyyyMMddHHmmss") + "_" + gr.oid.ToString() + ".jpg"; string nomeArquivo = "CodBarra" + guia.oid.ToString() + ".jpg"; //objBitmap.Save(pathAbsoluto + nomeArquivo, System.Drawing.Imaging.ImageFormat.Jpeg); rep.RenderDirectImage(RetornaStringPosicao(posicaoEsquerda+1f), RetornaStringPosicao(linhaaux+0.6f), objBitmap); objBitmap.Dispose(); //ThreadApagarArquivo.ApagarArquivo(pathAbsoluto + nomeArquivo); }
/// <summary> /// Cabecalho do banco /// </summary> public void DesenharCabecalhoBanco() { lastLinha += 0.1f; float altura = lastLinha+0.8f; DesenharRetagulo(pontoXInicial, lastLinha, pontoXFinal, altura); //linha logo banco DesenharLinhaVertical(4, lastLinha, altura); if (cb.isProxy) cb.Retrieve(); string banco = cb.banco.nome.Trim(); string texto = banco.PadLeft(banco.Length < 14 ? banco.Length / 2 + 7 : 0, ' '); string pathLogoBanco = Parametro.GetParametroPorNome("ArquivoLogotipoBanco"); if (pathLogoBanco != null && pathLogoBanco != "") { try { //Image imgLogo = Image.FromFile(pathLogoBanco);//"c:\\inetpub\\wwwroot\\deswebserver\\images\\logo_caixa.gif"); C1.C1PrintDocument.ImageAlignDef align = new C1.C1PrintDocument.ImageAlignDef(); align.StretchHorz = true; align.StretchVert = true; align.AlignHorz = C1.C1PrintDocument.ImageAlignHorzEnum.Center; align.AlignVert = C1.C1PrintDocument.ImageAlignVertEnum.Center; rep.RenderDirectImage(posicaoEsquerda, RetornaStringPosicao(lastLinha + 0.05f), imgLogo, 3.5f, 0.6f, align); //imgLogo.Dispose(); } catch (Exception ex) { Utils.RegisterLogEvento("Problema ao carregar o arquivo de Logotipo do Banco no RelatórioGuia. Erro: " + ex.Message, "GuiaRecolhimento", Utils.EventType.Error, ex.StackTrace, null); Font f = new Font("Arial", 12, FontStyle.Bold); float w = GetComprimentoStringCentrimentros(f, texto); rep.RenderDirectText(posicaoEsquerda, RetornaStringPosicao(lastLinha + 0.2f), texto, w, f, Color.Black, C1.C1PrintDocument.AlignHorzEnum.Left); } } else { Font f = new Font("Arial", 12, FontStyle.Bold); float w = GetComprimentoStringCentrimentros(f, texto); rep.RenderDirectText(posicaoEsquerda, RetornaStringPosicao(lastLinha+0.2f), texto, w, f, Color.Black, C1.C1PrintDocument.AlignHorzEnum.Left); } //linha banco DesenharLinhaVertical(7, lastLinha, altura); string codBanco = cb.banco.codBanco+"-"+cb.banco.digito; DesenharDescricaoCampo(4, lastLinha, "Banco", codBanco); string agenciacodigocedente = ebb.CalculoAgenciaCedente(cb.codAgencia, cb.digitoAgencia, cb.numConvenioLider, cb.numConta, cb.digitoConta); //agenciacodigocedente = cb.codAgencia.Trim()+"-"+cb.digitoAgencia.Trim()+"/"+cb.numConta.Trim()+"-"+cb.digitoConta.Trim(); DesenharDescricaoCampo(7, lastLinha, "Agência Código Cedente", agenciacodigocedente); string nossonumero; nossonumero = ebb.CalculoNossoNumeroFormatado(guia.numGuia.ToString() + (guia.numParcela.ToString().PadLeft(2, '0')), cb);//.numConvenioLider, cb.codCarteira); DesenharLinhaVertical(11, lastLinha, altura); DesenharDescricaoCampo(11, lastLinha, "Nosso Número", nossonumero); DesenharLinhaVertical(15, lastLinha, altura); DesenharDescricaoCampo(15, lastLinha, "Vencimento", guia.dataVencimento.ToString("dd/MM/yyyy")); lastLinha = altura; }
/// <summary> /// Desenha o retangulo do cabeçalho do boleto onde contem informacoes da PM /// </summary> public void DesenharCabecalhoPrefeitura() { //DesenharRetagulo(pontoXInicial, pontoYInicial, pontoXFinal,2.5f); float posxx = pontoXInicial; float posyy = pontoYInicial+0.1f; string nomePM = Parametro.GetParametroPorNome("NomePrefeitura"); string secretariaPM = Parametro.GetParametroPorNome("NomeSecretaria"); string nomeCoordenadoria = Parametro.GetParametroPorNome("NomeCoordenadoria"); string enderecoCompletoPM = Parametro.GetParametroPorNome("EnderecoCompleto"); string fone = Parametro.GetParametroPorNome("Fone"); if(!fone.Trim().Equals("")) enderecoCompletoPM += " Tel.: "+fone; float posesqtexto = posicaoEsquerda; //C:\\Inetpub\\wwwroot\\DesWebServer\\images //Image imgArquivoBrasao = null; //try //{ // imgArquivoBrasao = Image.FromFile(Parametro.GetParametroPorNome("ArquivoBrasao")); //} //catch(Exception ex) //{ // Utils.RegisterLogEvento("Problema ao carregar o arquivo de brasão no RelatórioGuia. Erro: " + ex.Message, "GuiaRecolhimento", Utils.EventType.Error, ex.StackTrace, null); // //throw; //} C1.C1PrintDocument.ImageAlignDef ia = new C1.C1PrintDocument.ImageAlignDef(); //20mm if (imgArquivoBrasao != null) { if (imgArquivoBrasao.Width < (2 * imgArquivoBrasao.Height)) { rep.RenderDirectImage(RetornaStringPosicao(posicaoEsquerda + 0.1f), RetornaStringPosicao(posyy + 0.05f), imgArquivoBrasao, 1.5f, 1.5f, ia); posesqtexto = posesqtexto + 2.1f; } else { rep.RenderDirectImage(RetornaStringPosicao(posicaoEsquerda + 0.1f), RetornaStringPosicao(posyy + 0.05f), imgArquivoBrasao, 4f, 1.5f, ia); posesqtexto = posesqtexto + 4.5f; } //imgArquivoBrasao.Dispose(); } Font f = new Font("Tahoma", 12, FontStyle.Bold); float w = GetComprimentoStringCentrimentros(f, nomePM); lastLinha += 0.07f; rep.RenderDirectText(RetornaStringPosicao(posesqtexto), RetornaStringPosicao(posyy), nomePM, RetornaStringPosicao(w), f, Color.Black, C1.C1PrintDocument.AlignHorzEnum.Left); lastLinha += GetAlturaStringCentrimentros(f, nomePM); posyy += + GetAlturaStringCentrimentros(f, nomePM); f = new Font("Tahoma", 10); w = GetComprimentoStringCentrimentros(f, secretariaPM); rep.RenderDirectText(posesqtexto, posyy, secretariaPM, w, f, Color.Black, C1.C1PrintDocument.AlignHorzEnum.Left); lastLinha += GetAlturaStringCentrimentros(f, secretariaPM); posyy += GetAlturaStringCentrimentros(f, secretariaPM); f = new Font("Tahoma", 9); w = GetComprimentoStringCentrimentros(f, nomeCoordenadoria); rep.RenderDirectText(posesqtexto, posyy, nomeCoordenadoria, w, f, Color.Black, C1.C1PrintDocument.AlignHorzEnum.Left); lastLinha += GetAlturaStringCentrimentros(f, nomeCoordenadoria); posyy += GetAlturaStringCentrimentros(f, nomeCoordenadoria); f = new Font("Tahoma", 8); w = GetComprimentoStringCentrimentros(f,enderecoCompletoPM); rep.RenderDirectText(posesqtexto, posyy, enderecoCompletoPM, w, f, Color.Black, C1.C1PrintDocument.AlignHorzEnum.Left); string da = "RECIBO DO SACADO"; f = new Font("Tahoma", 9); w = GetComprimentoStringCentrimentros(f, da); rep.RenderDirectText(RetornaStringPosicao(pontoXFinal - w), RetornaStringPosicao(posyy), da, GetComprimentoStringCentrimentros(f, da), f, Color.Gray, AlinharDireita()); lastLinha = 2.5f; //altrua do retangulo }
/// <summary> /// Desenha o verso do boleto /// </summary> private void DesenharVerso() { if(frenteVerso) { rep.NewPage(); float alt = 10f; float posesq = 2.0f; rep.RenderDirectLine(RetornaStringPosicao(pontoXInicial), RetornaStringPosicao(alt), RetornaStringPosicao(pontoXFinal), RetornaStringPosicao(alt)); /*Dados da PM*/ string nomePM = Parametro.GetParametroPorNome("NomePrefeitura"); string secretariaPM = Parametro.GetParametroPorNome("NomeSecretaria"); string enderecoCompletoPM = Parametro.GetParametroPorNome("EnderecoCompleto"); Font f = new Font("Arial", 16, FontStyle.Bold); float w = GetComprimentoStringCentrimentros(f, nomePM); float h = GetAlturaStringCentrimentros(f, nomePM); rep.RenderDirectText(RetornaStringPosicao(posesq), RetornaStringPosicao(alt+0.5f), nomePM, w, f, Color.Black, AlinharEsquerda()); //Gerar imagem selo correio if(Parametro.GetParametroPorNome("ArquivoLogotipoCorreio") != "") { //Image imgArquivoLogotipoCorreio = Image.FromFile(Parametro.GetParametroPorNome("ArquivoLogotipoCorreio")); C1.C1PrintDocument.ImageAlignDef ia = new C1.C1PrintDocument.ImageAlignDef(); //20mm rep.RenderDirectImage(RetornaStringPosicao(posicaoEsquerda+15f), RetornaStringPosicao(alt+0.05f), imgArquivoLogotipoCorreio, 3.1f, 3.1f, ia); //imgArquivoLogotipoCorreio.Dispose(); string numcont = "Nº "+Parametro.GetParametroPorNome("NumContratoCorreio"); f = new Font("Arial", 8); w = GetComprimentoStringCentrimentros(f, numcont); rep.RenderDirectText(RetornaStringPosicao(posicaoEsquerda+15.5f), RetornaStringPosicao(alt+1.51f), numcont, w, f, Color.Black, AlinharEsquerda()); string cli = Parametro.GetParametroPorNome("ClienteCorreio"); f = new Font("Arial", 8); w = GetComprimentoStringCentrimentros(f, cli); rep.RenderDirectText(RetornaStringPosicao(posicaoEsquerda+15.5f), RetornaStringPosicao(alt+1.9f), cli, w, f, Color.Black, AlinharEsquerda()); } f = new Font("Arial", 15); w = GetComprimentoStringCentrimentros(f, secretariaPM); rep.RenderDirectText(RetornaStringPosicao(posesq), RetornaStringPosicao(alt+0.5f + h), secretariaPM, w, f, Color.Black, AlinharEsquerda()); h += GetAlturaStringCentrimentros(f, secretariaPM); f = new Font("Arial", 12); w = GetComprimentoStringCentrimentros(f, enderecoCompletoPM); rep.RenderDirectText(RetornaStringPosicao(posesq), RetornaStringPosicao(alt+0.5f + h), enderecoCompletoPM, w, f, Color.Black, AlinharEsquerda()); h = alt+0.5f + h + 1f; rep.RenderDirectLine(RetornaStringPosicao(pontoXInicial), RetornaStringPosicao(h), RetornaStringPosicao(pontoXFinal), RetornaStringPosicao(h)); h += 0.5f; /* Dados do contribuinte */ f = new Font("Arial", 12, FontStyle.Bold); Contribuinte c = guia.contribuinte; c.Retrieve(); string razao = c.nome.ToUpper(); w = GetComprimentoStringCentrimentros(f, razao); rep.RenderDirectText(RetornaStringPosicao(posesq), RetornaStringPosicao(h), razao, w, f, Color.Black, AlinharEsquerda()); h += GetAlturaStringCentrimentros(f, razao); f = new Font("Arial", 11); string nomefant = " "; if(c.nomeFantasia != null) nomefant = c.nomeFantasia.ToUpper(); w = GetComprimentoStringCentrimentros(f, nomefant); rep.RenderDirectText(RetornaStringPosicao(posesq), RetornaStringPosicao(h), nomefant, w, f, Color.Black, AlinharEsquerda()); h += GetAlturaStringCentrimentros(f, nomefant); Logradouro l = c.logradouroCarta; string endereco = ""; if (l != null) { l.Retrieve(); if ((l.nome != "N/D" && l.nome.ToUpper() != "NÃO DISPONÍVEL") || c.enderecoAntigo == null || c.enderecoAntigo.Trim() == "") { if (l.tipoLogradouro != null) endereco = l.tipoLogradouro.descricao + " " + l.nome + ", " + c.numeroCarta + " " + c.complementoCarta; else endereco = l.nome + ", " + c.numeroCarta + " " + c.complementoCarta; w = GetComprimentoStringCentrimentros(f, endereco); rep.RenderDirectText(RetornaStringPosicao(posesq), RetornaStringPosicao(h), endereco, w, f, Color.Black, AlinharEsquerda()); h += GetAlturaStringCentrimentros(f, endereco); l.cidade.Retrieve(); UF u = l.cidade.uf; if (l.bairro != null) endereco = l.bairro.nome + " " + l.cidade.nome + "-" + u.uf + " CEP: " + l.cep; else endereco = l.cidade.nome + "-" + u.uf + " CEP: " + l.cep; } else { endereco = c.enderecoAntigo; } } else if(c.enderecoAntigo != null && c.enderecoAntigo != "") endereco = c.enderecoAntigo; w = GetComprimentoStringCentrimentros(f, endereco); rep.RenderDirectText(RetornaStringPosicao(posesq), RetornaStringPosicao(h), endereco, w, f, Color.Black, AlinharEsquerda()); h += GetAlturaStringCentrimentros(f, endereco); endereco = "CAE: "+c.inscricao+" - GUIA: "+guia.numGuia.ToString()+"-"+guia.numParcela.ToString("00"); w = GetComprimentoStringCentrimentros(f, endereco); rep.RenderDirectText(RetornaStringPosicao(posesq), RetornaStringPosicao(h), endereco, w, f, Color.Black, AlinharEsquerda()); h += GetAlturaStringCentrimentros(f, endereco); rep.RenderDirectLine(RetornaStringPosicao(pontoXInicial), RetornaStringPosicao(h), RetornaStringPosicao(pontoXFinal), RetornaStringPosicao(h)); h += 2f; rep.RenderDirectLine(RetornaStringPosicao(pontoXInicial), RetornaStringPosicao(h), RetornaStringPosicao(pontoXFinal), RetornaStringPosicao(h)); h += 3f; /* Retangulo dados entrega */ DesenharRetagulo(posicaoEsquerda+1, h, pontoXFinal-1.5f, h+2.5f); //linha vertical meio rep.RenderDirectLine(RetornaStringPosicao(posicaoEsquerda+8), RetornaStringPosicao(h), RetornaStringPosicao(posicaoEsquerda+8), RetornaStringPosicao(h+2.5f)); //meia linha vertical rep.RenderDirectLine(RetornaStringPosicao(posicaoEsquerda+5f), RetornaStringPosicao(h+1.25f), RetornaStringPosicao(posicaoEsquerda+5f), RetornaStringPosicao(h+2.5f)); rep.RenderDirectLine(RetornaStringPosicao(posicaoEsquerda+1), RetornaStringPosicao(h+1.25f), RetornaStringPosicao(posicaoEsquerda+8), RetornaStringPosicao(h+1.25f)); C1.C1PrintDocument.C1DocStyle cs = new C1.C1PrintDocument.C1DocStyle(rep); cs.TextAngle = 180; cs.TextColor = Color.Black; f = new Font("Arial", 8); cs.Font = f; string s = "Data"; w = GetComprimentoStringCentrimentros(f, s); rep.RenderDirectText(RetornaStringPosicao(posicaoEsquerda+7.8f-w),RetornaStringPosicao(h+2.2f), s,RetornaStringPosicao(w), RetornaStringPosicao(GetAlturaStringCentrimentros(f, s)), cs); s = "Reintegrado ao Serviço Postal em"; w = GetComprimentoStringCentrimentros(f, s); rep.RenderDirectText(RetornaStringPosicao(posicaoEsquerda+4.8f-3.5f),RetornaStringPosicao(h+1.9f), s,RetornaStringPosicao(3.5f), RetornaStringPosicao(GetAlturaStringCentrimentros(f, s)*2), cs); s = "Assinatura do Entregador"; w = GetComprimentoStringCentrimentros(f, s); rep.RenderDirectText(RetornaStringPosicao(posicaoEsquerda+7.8f-w),RetornaStringPosicao(h+0.9f), s,RetornaStringPosicao(w), RetornaStringPosicao(GetAlturaStringCentrimentros(f, s)), cs); /*cinco retangulos pequenos*/ DesenharRetagulo(pontoXFinal-2.3f, h+2.1f, pontoXFinal-2, h+2.4f); s = "Mudou-se"; w = GetComprimentoStringCentrimentros(f, s); rep.RenderDirectText(RetornaStringPosicao(pontoXFinal-2.4f-w),RetornaStringPosicao(h+2.1f), s,RetornaStringPosicao(w), RetornaStringPosicao(GetAlturaStringCentrimentros(f, s)), cs); DesenharRetagulo(pontoXFinal-2.3f, h+1.6f, pontoXFinal-2, h+1.9f); s = "Endereço Insuficiente"; w = GetComprimentoStringCentrimentros(f, s); rep.RenderDirectText(RetornaStringPosicao(pontoXFinal-2.4f-w),RetornaStringPosicao(h+1.6f), s,RetornaStringPosicao(w), RetornaStringPosicao(GetAlturaStringCentrimentros(f, s)), cs); DesenharRetagulo(pontoXFinal-2.3f, h+1.1f, pontoXFinal-2, h+1.4f); s = "Não Existe o Nº Indicado"; w = GetComprimentoStringCentrimentros(f, s); rep.RenderDirectText(RetornaStringPosicao(pontoXFinal-2.4f-w),RetornaStringPosicao(h+1.1f), s,RetornaStringPosicao(w), RetornaStringPosicao(GetAlturaStringCentrimentros(f, s)), cs); DesenharRetagulo(pontoXFinal-2.3f, h+0.6f, pontoXFinal-2, h+0.9f); s = "Desconhecido"; w = GetComprimentoStringCentrimentros(f, s); rep.RenderDirectText(RetornaStringPosicao(pontoXFinal-2.4f-w),RetornaStringPosicao(h+0.6f), s,RetornaStringPosicao(w), RetornaStringPosicao(GetAlturaStringCentrimentros(f, s)), cs); DesenharRetagulo(pontoXFinal-2.3f, h+0.1f, pontoXFinal-2, h+0.4f); s = "Recusado"; w = GetComprimentoStringCentrimentros(f, s); rep.RenderDirectText(RetornaStringPosicao(pontoXFinal-2.4f-w),RetornaStringPosicao(h+0.1f), s,RetornaStringPosicao(w), RetornaStringPosicao(GetAlturaStringCentrimentros(f, s)), cs); /*quatro retangulos pequenos */ DesenharRetagulo(pontoXFinal-7.3f, h+2.1f, pontoXFinal-7, h+2.4f); s = "Não Procurado"; w = GetComprimentoStringCentrimentros(f, s); rep.RenderDirectText(RetornaStringPosicao(pontoXFinal-7.4f-w),RetornaStringPosicao(h+2.1f), s,RetornaStringPosicao(w), RetornaStringPosicao(GetAlturaStringCentrimentros(f, s)), cs); DesenharRetagulo(pontoXFinal-7.3f, h+1.6f, pontoXFinal-7, h+1.9f); s = "Ausente"; w = GetComprimentoStringCentrimentros(f, s); rep.RenderDirectText(RetornaStringPosicao(pontoXFinal-7.4f-w),RetornaStringPosicao(h+1.6f), s,RetornaStringPosicao(w), RetornaStringPosicao(GetAlturaStringCentrimentros(f, s)), cs); DesenharRetagulo(pontoXFinal-7.3f, h+1.1f, pontoXFinal-7, h+1.4f); s = "Falecido"; w = GetComprimentoStringCentrimentros(f, s); rep.RenderDirectText(RetornaStringPosicao(pontoXFinal-7.4f-w),RetornaStringPosicao(h+1.1f), s,RetornaStringPosicao(w), RetornaStringPosicao(GetAlturaStringCentrimentros(f, s)), cs); DesenharRetagulo(pontoXFinal-7.3f, h+0.6f, pontoXFinal-7, h+0.9f); s = "Inf. Escrita - Porteiro/Síndico"; w = GetComprimentoStringCentrimentros(f, s); rep.RenderDirectText(RetornaStringPosicao(pontoXFinal-7.4f-w),RetornaStringPosicao(h+0.6f), s,RetornaStringPosicao(w), RetornaStringPosicao(GetAlturaStringCentrimentros(f, s)), cs); /* Dados da PM */ f = new Font("Arial", 12); cs.Font = f; cs.TextAlignHorz = C1.C1PrintDocument.AlignHorzEnum.Left; float w1 = GetComprimentoStringCentrimentros(f, enderecoCompletoPM.Trim()); f = new Font("Arial", 14); cs.Font = f; cs.TextAlignHorz = C1.C1PrintDocument.AlignHorzEnum.Left; float w2 = GetComprimentoStringCentrimentros(f, secretariaPM.Trim()); f = new Font("Arial", 15, FontStyle.Bold); cs.Font = f; cs.TextAlignHorz = C1.C1PrintDocument.AlignHorzEnum.Left; float w3 = GetComprimentoStringCentrimentros(f, nomePM.Trim()); w = Math.Max(w1, w2); w = Math.Max(w, w3); f = new Font("Arial", 12); cs.Font = f; cs.TextAlignHorz = C1.C1PrintDocument.AlignHorzEnum.Left; rep.RenderDirectText(RetornaStringPosicao(posicaoEsquerda-1.5f), RetornaStringPosicao(h+4.5f), enderecoCompletoPM.Trim(), RetornaStringPosicao(w), RetornaStringPosicao(GetAlturaStringCentrimentros(f, enderecoCompletoPM)), cs); f = new Font("Arial", 14); cs.Font = f; cs.TextAlignHorz = C1.C1PrintDocument.AlignHorzEnum.Left; rep.RenderDirectText(RetornaStringPosicao(posicaoEsquerda-1.5f), RetornaStringPosicao(h+5.2f), secretariaPM.Trim(), RetornaStringPosicao(w), RetornaStringPosicao(GetAlturaStringCentrimentros(f, secretariaPM)), cs); f = new Font("Arial", 15, FontStyle.Bold); cs.Font = f; cs.TextAlignHorz = C1.C1PrintDocument.AlignHorzEnum.Left; rep.RenderDirectText(RetornaStringPosicao(posicaoEsquerda-1.5f), RetornaStringPosicao(h+6f), nomePM.Trim(), RetornaStringPosicao(w), RetornaStringPosicao(GetAlturaStringCentrimentros(f, nomePM)), cs); //linha final rep.RenderDirectLine(RetornaStringPosicao(pontoXInicial), RetornaStringPosicao(h+7f), RetornaStringPosicao(pontoXFinal), RetornaStringPosicao(h+7f)); }//fim if frenteVerso }