pcalcado 18 de out. de 2004
O Flin tah certo, mas:
1 - Não escreva nada na saída antes de fazer um forward (provavelmente eh isso)
2 - Coloque um título mais a ver com seu tópico
[]s
MAndre 18 de out. de 2004
Certo , senhores !!!
Tem razão …
Mas a história é a seguinte .
Eu tenho , baseado em um select no banco , um resultSet que me resulta em um arquivo PDF . Depois disso , eu preciso mostrá-lo no browser , aí que está o meu problema … não consigo !!!
Aqui vai o código :
if ( rset != null ) {
while (rset.next()){
if (ctLinhas > 40){
documento.newPage() ;
ctLinhas = 6 ;
linha = “------------------------------------------------------” +
“-----------------------------------------------------------------------------” ;
documento.add(new Paragraph(linha)) ;
vetor.addElement(linha) ;
linha = rset.getString(“nome”)+
" ( CNPJ : " +
rset.getString(“cnpjf”) +
" ) " +
" Data : " ;
documento.add(new Paragraph(linha));
vetor.addElement(linha);
linha = “Razao Analitico " + " " + " Da Loja: " + razaoAnaliticoForm . getCodigoUnidadeInicial () + ” A " +
razaoAnaliticoForm.getCodigoUnidadeFinal() + " Periodo de " + razaoAnaliticoForm.getDataInicial() + " A " +
razaoAnaliticoForm.getDataFinal() + " Pagina : " + ctPagina++ ;
documento.add(new Paragraph(linha));
vetor.addElement(linha);
linha = " Da Conta : " + razaoAnaliticoForm.getContaContabilInicial() + " A " + razaoAnaliticoForm.getContaContabilFinal() +
" ";
documento.add(new Paragraph(linha));
vetor.addElement(linha);
linha = “------------------------------------------------------” +
“-----------------------------------------------------------------------------”;
documento.add(new Paragraph(linha));
linha = “<em>- Data -</em> Loja Lote * Docto * <em>------------------ Historico -----------</em> C.P. <em>– Debito –</em> <em>– Credito –</em> <em>— Saldo —</em>”;
documento.add(new Paragraph(linha));
vetor.addElement(linha);
}
if (!flagcontactb) {
linha = rset.getString(“cd_cta_ctb”) + " " + rset.getString(“cd_empr”)+ " " + rset.getString(“descr_conta”) ;
documento.add(new Paragraph(linha));
vetor.addElement(linha);
flagcontactb = true;
ctaCtbil = rset.getString(“cd_cta_ctb”);
}
if (rset.getString(“debito”).equals(“t”)){
vlrDebito = Double.parseDouble(rset.getString(“v_lancto”));
vlrCredito = 0.00;
totDebitoCta =+ vlrDebito;
totDebitoUnid =+ totDebitoCta;
} else if (rset.getString(“credito”).equals(“t”)){
vlrCredito = Double.parseDouble(rset.getString(“v_lancto”));
vlrDebito = 0.00;
totCreditoCta =+ vlrCredito;
totCreditoUnid =+ totCreditoCta;
}
linha = rset.getString(“dt_lancto”) + " “ + rset . getString ( “ cd_unid ” ) + ” “ + rset . getString ( “ n_lote ” ) + ” "+ rset.getString(“n_docto”) +
" " + rset.getString(“descr_hist”) + " "+ rset.getString(“cd_red_crt_part”) + " "+vlrDebito + " “ + vlrCredito + ” " + vlrSaldo ;
documento.add(new Paragraph(linha)) ;
vetor.addElement(linha) ;
ctLinhas++ ;
}
// PdfProcessor processor = new PdfProcessor(vetor, baos);
// a partir daqui, não sei mais o que fazer!!! :shocked!:
documento . close ();
if ( !documento . equals ( null )) {
response . setContentType ( “application / pdf ”);
response . setContentLength ( baos . size ());
response . sendRedirect ( “razao . pdf ”);
response . setHeader ( “Content - disposition ”, " inline; filename=razao.pdf" );
ServletOutputStream sos = response . getOutputStream ();
baos . writeTo ( sos );
//send all bytes to the client.
sos . flush ();
return mapping . findForward ( “success ”);
}
else {
response . setContentType ( “text / html ”);
return mapping . findForward ( “failure ”);
}
}
Obrigado, povo!!!
MAndre 18 de out. de 2004
LUca, estou aos poucos consertando… vamos tentar mais uma vez!!!
Tirei aquele response.Redirect, ok?
Mas o problema não é devido a esse comando.
if (rset != null) {
while (rset.next()){
if (ctLinhas > 40){
documento .newPage ();
ctLinhas = 6 ;
linha = "------------------------------------------------------" +
"-----------------------------------------------------------------------------" ;
documento .add (new Paragraph(linha));
vetor .addElement (linha);
linha = rset .getString ("nome")+
" (CNPJ: " +
rset .getString ("cnpjf") +
") " +
"Data: " ;
documento .add (new Paragraph(linha));
vetor .addElement (linha);
linha = "Razao Analitico " + " " + " Da Loja: " + razaoAnaliticoForm .getCodigoUnidadeInicial ()+" A " +
razaoAnaliticoForm .getCodigoUnidadeFinal () + " Periodo de " + razaoAnaliticoForm.getDataInicial() + " A " +
razaoAnaliticoForm .getDataFinal () + " Pagina: " + ctPagina++ ;
documento .add (new Paragraph(linha));
vetor .addElement (linha);
linha = "Da Conta: " + razaoAnaliticoForm .getContaContabilInicial () + " A " + razaoAnaliticoForm.getContaContabilFinal() +
" " ;
documento .add (new Paragraph(linha));
vetor .addElement (linha);
linha = "------------------------------------------------------" +
"-----------------------------------------------------------------------------" ;
documento .add (new Paragraph(linha));
linha = "*- Data -* Loja Lote * Docto * *------------------ Historico -----------* C.P. *-- Debito --* *-- Credito --* *--- Saldo ---*" ;
documento .add (new Paragraph(linha));
vetor .addElement (linha);
}
if (!flagcontactb) {
linha = rset .getString ("cd_cta_ctb") + " " + rset.getString("cd_empr")+ " " + rset.getString("descr_conta") ;
documento .add (new Paragraph(linha));
vetor .addElement (linha);
flagcontactb = true ;
ctaCtbil = rset .getString ("cd_cta_ctb");
}
if (rset.getString("debito").equals("t")){
vlrDebito = Double .parseDouble (rset.getString("v_lancto"));
vlrCredito = 0.00 ;
totDebitoCta =+ vlrDebito ;
totDebitoUnid =+ totDebitoCta ;
} else if (rset.getString("credito").equals("t")){
vlrCredito = Double .parseDouble (rset.getString("v_lancto"));
vlrDebito = 0.00 ;
totCreditoCta =+ vlrCredito ;
totCreditoUnid =+ totCreditoCta ;
}
linha = rset .getString ("dt_lancto") + " "+ rset.getString("cd_unid")+" "+rset.getString("n_lote")+" "+ rset.getString("n_docto") +
" " + rset .getString ("descr_hist") + " "+ rset.getString("cd_red_crt_part") + " "+vlrDebito + " "+ vlrCredito+" "+vlrSaldo;
documento .add (new Paragraph(linha));
vetor .addElement (linha);
ctLinhas ++;
}
}
// PdfProcessor processor = new PdfProcessor (vetor, baos);
documento .close ();
if (!documento.equals(null)) {
response .setContentType ("application/pdf");
response .setContentLength (baos.size());
response .setHeader ("Content-disposition", " inline; filename=razao.pdf");
ServletOutputStream sos = response .getOutputStream ();
baos .writeTo (sos);
//send all bytes to the client .
sos .flush ();
return mapping .findForward ("success");
}
else {
response .setContentType ("text/html");
return mapping .findForward ("failure");
}
}
catch (DocumentException de){
de .printStackTrace ();
}
catch (IOException ioe){
ioe .printStackTrace ();
}
catch (SQLException e){
e .printStackTrace ();
}
finally {
}
return mapping .findForward ("failure");
:oops:
Acho q agora melhorou, não?