2 ou mais Boletos em pdf ou html usando o jboleto para WEB

1 resposta
P

Boa tarde,

Estou com um problema na geração de boletos bancários pelo jboleto, onde estou utilizando uma servlet onde eu estou conseguindo gerar os boletos com o código de barras tudo certinho, campos preenchido corretamente... só que na hora de jogar para o browser ele joga apenas um boleto... no caso o último. 
Estou usando um jsp para chamar a servlet, e a própria servlet, que seguem abaixo.
Fico no aguardo, a parte comentada eu estou gerando em pdf... ele geraria mais de um , mas também não joga no browser em pdf...

boleto.jsp

<html>
	<head>
	      <title>..::Boleto::..</title>
		  
		  <LINK rel="stylesheet" href="css/estilo.css" type="text/css">
		  <link rel='stylesheet' type='text/css' href='css/materiais.css' />
		  <script src="function.js"></script>
          <script src="data.js"></script>
	</head>
	<body>
		<form name="form1"  action="teste.do?" >
		<input type="text" value="1" name="id" maxlength="11">
		<br>
			<input type="submit" value="Gerar Boleto">
		</form>
	</body>
</html>

InicioBoleto.java

package teste;

import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintStream;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Vector;

import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.jboleto.JBoleto;
import org.jboleto.JBoletoBean;
import org.jboleto.control.Generator;
import org.jboleto.control.HtmlGenerator;
import org.jboleto.control.PDFGenerator;

import beans.BDConnection;

public class InicioBoleto extends HttpServlet 
{

 private static final long serialVersionUID = 1L;

 public void doGet(HttpServletRequest request, HttpServletResponse response)
	 	throws IOException, ServletException 
 {
   OutputStream out = response.getOutputStream();
		
   String id = request.getParameter("id");
   String sCodBar = request.getParameter("cb");
		
   if(sCodBar==null)
   {
	PrintStream tela = new PrintStream (out) ;
	try
    {
	//
	  String valor="0",sacado = "1",emissao = "1", vencimento = "1", 
			 endereco= "1", bairro= "1", cep= "1", cidade= "1", uf= "1",cpf="1";
				
	  BDConnection con = new BDConnection();
				  
	  ResultSet rs;
	  String consboleto = " select ncliente,inscricao as cpf, endereco, bairro, "+
				          " cidade, uf, concat(cep,'-',sufcep) as cep, "+
				          " date_format(emissao, '%d/%m/%Y') as emissao, "+
				          " date_format(vencimento, '%d/%m/%Y') as vencimento, "+
				          " valor,carteira, "+
				          " instrucao1, instrucao2, instrucao3, instrucao4 "+
				          " from cnabboleto "+
				          " where id = '"+id+"' ";
	  
	  boolean resp = con.conectaMySQL_Local();
	   if(resp)
	   {
		try { 
		     rs = con.statement.executeQuery(consboleto);
			 rs.first();
					     
			 sacado = rs.getString("ncliente");
			 endereco = rs.getString("endereco");
			 bairro = rs.getString("bairro");
			 cep = rs.getString("cep");
			 cidade = rs.getString("cidade");
		     uf = rs.getString("uf");
			 emissao = rs.getString("emissao");
			 vencimento = rs.getString("vencimento");
			 valor = rs.getString("valor");
			 cpf = rs.getString("cpf");
				
			 rs.close();
			 con.connection.close();
			}
			catch(Exception e)
			{
			 tela.println ( "<script>alert('Problemas na geração do boleto! "+id+" - "+e.getMessage()+"');</script>" );
			}

		
			JBoletoBean jBoletoBean = new JBoletoBean();
			
			int x=0;
			Generator generator = new HtmlGenerator();
			byte[] bytes = null;
			byte[] unico = null;
			 
        for( x=1 ; x<=4 ; x++)
	    {

            jBoletoBean.setDataDocumento("31/05/2006");
            jBoletoBean.setDataProcessamento("31/05/2006");

            jBoletoBean.setCedente("AINODE Solucoes");

            jBoletoBean.setNomeSacado("GtTurbo");
            jBoletoBean.setEnderecoSacado("Rua Araticum 951");
            jBoletoBean.setBairroSacado("Anil");
            jBoletoBean.setCidadeSacado("Rio de Janeiro");
            jBoletoBean.setUfSacado("RJ");
            jBoletoBean.setCepSacado("22753-501");
            jBoletoBean.setCpfSacado("[telefone removido]");

            jBoletoBean.setLocalPagamento("ATE O VENCIMENTO, PREFERENCIALMENTE NO BRADESCO");
            jBoletoBean.setLocalPagamento2("APOS O VENCIMENTO, SOMENTE NO BRADESCO");

            Vector descricoes = new Vector();
            descricoes.add("Hospedagem I - teste descricao1 - R$ 39,90");
            descricoes.add("Manutencao - teste ricao2 - R$ 32,90");
            descricoes.add("Sistema - teste ssssde descricao3 - R$ 45,90");
            descricoes.add("Extra - teste de descricao4 - R$ 78,90");
            jBoletoBean.setDescricoes(descricoes);

            jBoletoBean.setDataVencimento("10/06/2006");
            jBoletoBean.setInstrucao1("APOS O VENCIMENTO COBRAR MULTA DE 2%");
            jBoletoBean.setInstrucao2("APOS O VENCIMENTO COBRAR R$ 0,50 POR DIA DE ATRASO");
            jBoletoBean.setInstrucao3("Parcela: "+x);
            jBoletoBean.setInstrucao4("");

            jBoletoBean.setCarteira("06");
            jBoletoBean.setAgencia("2949");
            jBoletoBean.setDvAgencia("1");

            jBoletoBean.setContaCorrente("0006580");
            jBoletoBean.setDvContaCorrente("3");

            jBoletoBean.setNossoNumero("003",11);
            jBoletoBean.setValorBoleto("1.00");

            //Generator generator = new HtmlGenerator(); foi pra cima
            
            //Generator generator = new PDFGenerator(jBoletoBean, JBoleto.BRADESCO);

            JBoleto jBoleto = new JBoleto(generator, jBoletoBean, JBoleto.BRADESCO);
            
            //em html fazer esta rotina
            jBoletoBean.setEnderecoCodBar("teste.do?cb="+jBoletoBean.getCodigoBarras());

            jBoleto.addBoleto();

            //jBoleto.closeBoleto("bradesco.pdf");
           
            bytes = (generator.toString().getBytes());
            unico = bytes;
            
            out.write(unico);
            tela.println ( "<script>alert('Boleto! "+x+"');</script>"  ); 
	    
	        }  // for  
        
		          try {
		        	   out.write(unico);
					   //out.write(generator.toString().getBytes());
					   out.flush();
					   //tela.println ( "<script>alert('Boleto! "+x+"');</script>"  ); 
				      } 
		          catch (IOException e) 
		              {
					    tela.println ( "<script>alert('Erro! "+e.getMessage()+"');</script>" );
				      }
	             
	   }     
			
		    
	       
			
		    }//fim try 1
			catch(Exception x)
			{
				tela.println ( "<script>alert('Problemas na geração do boleto! "+id+" - "+x.getMessage()+"');</script>" );
			}
		
		
	}
	else
	{
			HtmlGenerator generator = new HtmlGenerator();
			generator.geraCodBar(out, sCodBar);
	}
	
	}

}

/*
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintStream;
import java.util.Vector;

import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.jboleto.JBoleto;
import org.jboleto.JBoletoBean;
import org.jboleto.control.Generator;
import org.jboleto.control.PDFGenerator;


public class InicioBoleto extends HttpServlet 
{

 private static final long serialVersionUID = 1L;

 public void doGet(HttpServletRequest request, HttpServletResponse response)
	 	throws IOException, ServletException 
 {
      
            JBoletoBean jBoletoBean = new JBoletoBean();

            jBoletoBean.setDataDocumento("31/05/2006");
            jBoletoBean.setDataProcessamento("31/05/2006");

            jBoletoBean.setCedente("AINODE Solucoes");

            jBoletoBean.setNomeSacado("GtTurbo");
            jBoletoBean.setEnderecoSacado("Rua Araticum 951");
            jBoletoBean.setBairroSacado("Anil");
            jBoletoBean.setCidadeSacado("Rio de Janeiro");
            jBoletoBean.setUfSacado("RJ");
            jBoletoBean.setCepSacado("22753-501");
            jBoletoBean.setCpfSacado("[telefone removido]");

            jBoletoBean.setLocalPagamento("ATE O VENCIMENTO, PREFERENCIALMENTE NO BRADESCO");
            jBoletoBean.setLocalPagamento2("APOS O VENCIMENTO, SOMENTE NO BRADESCO");

            Vector descricoes = new Vector();
            descricoes.add(" I - teste descricao1 - R$ 39,90");
            descricoes.add("Manutencao - teste ricao2 - R$ 32,90");
            descricoes.add("Sistema - teste ssssde descricao3 - R$ 45,90");
            descricoes.add("Extra sistema - teste de descricao4 - R$ 78,90");
            jBoletoBean.setDescricoes(descricoes);

            jBoletoBean.setDataVencimento("10/06/2006");
            jBoletoBean.setInstrucao1("APOS O VENCIMENTO COBRAR MULTA DE 2%");
            jBoletoBean.setInstrucao2("APOS O VENCIMENTO COBRAR R$ 0,50 POR DIA DE ATRASO");
            jBoletoBean.setInstrucao3("");
            jBoletoBean.setInstrucao4("");

            jBoletoBean.setCarteira("06");
            jBoletoBean.setAgencia("2949");
            jBoletoBean.setDvAgencia("1");

            jBoletoBean.setContaCorrente("0006580");
            jBoletoBean.setDvContaCorrente("3");

            jBoletoBean.setNossoNumero("003",11);
            jBoletoBean.setValorBoleto("1.00");

            //Generator generator = new PDFGenerator(jBoletoBean, JBoleto.BRADESCO);
            Generator generator = new PDFGenerator(jBoletoBean, JBoleto.BRADESCO);

            JBoleto jBoleto = new JBoleto(generator, jBoletoBean, JBoleto.BRADESCO);

            jBoleto.addBoleto();

            String pathJasper = getServletContext().getRealPath(
                                "/WEB-INF/boletos/") + "/";
            String caminho = "bradesco.pdf";
            String caminho2 = "itau.pdf";
            jBoleto.closeBoleto(pathJasper+caminho);
            //jBoleto.closeBoleto(pathJasper+caminho2);
            
            //OutputStream out = response.getOutputStream();
            //out.write(generator.toString().getBytes());
			//out.flush();
           
         /*   
           //deu certo
           
            // envia o relatório em formato PDF para o browser   
            byte[] bytes = null;
           // bytes =fileToByte(new File(pathJasper+caminho));
            
            FileInputStream fis = new FileInputStream(pathJasper+caminho);
        	ByteArrayOutputStream baos = new ByteArrayOutputStream();
        	byte[] buffer = new byte[8192];
        	int bytesRead = 0;
        	while ((bytesRead = fis.read(buffer, 0, 8192)) != -1) {
        	baos.write(buffer, 0, bytesRead);
        	}
        	//return baos.toByteArray();
        	bytes =baos.toByteArray();
            
            response.setContentType("application/pdf");
            response.setContentLength(bytes.length);
            ServletOutputStream ouputStream = response.getOutputStream();
            ouputStream.write(bytes, 0, bytes.length);
            ouputStream.flush();
            ouputStream.close();
         */ 
            
           
           /*   
    
        	 byte[] bytes = null;
             byte[] bytes2= null;
             
            FileInputStream fis = new FileInputStream(pathJasper+caminho);
         	ByteArrayOutputStream baos = new ByteArrayOutputStream();
         	byte[] buffer = new byte[8192];
         	int bytesRead = 0;
         	while ((bytesRead = fis.read(buffer, 0, 8192)) != -1) {
         	baos.write(buffer, 0, bytesRead);
         	}
         	//return baos.toByteArray();
         	bytes =baos.toByteArray();
         	
         	FileInputStream fis2 = new FileInputStream(pathJasper+caminho2);
         	ByteArrayOutputStream baos2 = new ByteArrayOutputStream();
         	byte[] buffer2 = new byte[8192];
         	int bytesRead2 = 0;
         	while ((bytesRead2 = fis2.read(buffer2, 0, 8192)) != -1) {
         	baos2.write(buffer2, 0, bytesRead2);
         	}
         	//return baos.toByteArray();
         	bytes2 =baos2.toByteArray();
         	
        		byte[] unico= new byte[bytes.length+bytes2.length];
        		//int tamanho=bytes.length;
        		//for(int i=0;i>i ; unico[i]=bytes[i]);
        		//{
        		// for(int i=0;i>i; unico[tamanho+1+i]=bytes[i]);
        	   // }



        		//response.setContentType("application/pdf");
        		
        		//response.setContentType("text/html");
        		//response.setContentLength(unico.length);
        		//ServletOutputStream ouputStream = response.getOutputStream();
        		//ouputStream.write(bytes2, 0, bytes2.length);
        		//ouputStream.write(bytes, 0, bytes.length);

        		//ouputStream.flush();
        		//ouputStream.close();
            
        		response.sendRedirect("mostraboletos.jsp");



    }

}
*/

1 Resposta

P

Alguém pode me ajudar???

Criado 29 de abril de 2009
Ultima resposta 30 de abr. de 2009
Respostas 1
Participantes 1