Ireport e jasperReport - Erro na hora de gerar um pdf - Problemas de enconding?

Aparece esse erro na hora de eu gerar um pdf

%PDF-1.4
%����
1 0 obj <</Length 9/Filter/FlateDecode>>stream
x�����
endstream
endobj
3 0 obj<</Parent 2 0 R/Contents 1 0 R/Type/Page/Resources<</ProcSet [/PDF /Text /ImageB /ImageC /ImageI]>>/MediaBox[0 0 595 842]>>
endobj
2 0 obj<</Type/Pages/Count 1/Kids[3 0 R]>>
endobj
4 0 obj<</Type/Catalog/Pages 2 0 R>>
endobj
5 0 obj<</Creator(JasperReports (fornecedorRelatorio))/Producer(iText1.3.1 by lowagie.com (based on itext-paulo-154))/ModDate(D:20080916134812-03’00’)/CreationDate(D:20080916134812-03’00’)>>
endobj
xref
0 6
0000000000 65535 f
0000000015 00000 n
0000000227 00000 n
0000000089 00000 n
0000000277 00000 n
0000000321 00000 n
trailer
<</Root 4 0 R/ID []/Info 5 0 R/Size 6>>
startxref
523
%%EOF

Meu código

public void gerarPDF() throws IOException {
        FacesContext context = FacesContext.getCurrentInstance();
        HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse();

        InputStream reportStream = context.getExternalContext().getResourceAsStream("/relatorios/fornecedorRelatorio.jasper");

        response.setContentType("application/pdf");
        response.setHeader("Content-disposition", "attachment;filename=RelatorioDeFornecedores.pdf");

        ServletOutputStream servletOutputStream = response.getOutputStream();

        JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(listFornecedor);
            
        
        Map parameters = null;
        
        try 
        {
            JasperRunManager.runReportToPdfStream(reportStream, servletOutputStream, parameters, ds);
        }
        catch (JRException e) 
        {
            e.printStackTrace();
        }
        
        context.responseComplete();
        servletOutputStream.flush();
        servletOutputStream.close();
    }

Estou usando o jasperReport 3.0

Estou exatamente com o mesmo problema. E não sei nem o que procurar no google…

Cara, resolvi esse problema.

Era só invocar a minha action através de um h:commandButton ao invés de um a4j:commandButton

Valeu!!!

Já tentei isso e não resolveu, mas pelo seu comentário com certeza é algum detalhe que eu tô fazendo errado. Valeu !

Sua aplicação utiliza Spring? Pois tive muitos problemas com ele, devido ao controle do contexto ser via spring.
Eu criei um Servlet só para downloads.

A aplicação usa o JBoss Seam, que por sua vez usa o Spring por trás…

Era isso mesmo só usar o <h:commandButton> e funcionou valeu pessoal!!!

Muito Obrigado!!!

[quote=SanjuanRJ]Cara, resolvi esse problema.

Era só invocar a minha action através de um h:commandButton ao invés de um a4j:commandButton

Valeu!!![/quote]

Salvou mais um. Vlw !

:smiley: