[RESOLVIDO] Problemas com o jasper

7 respostas
dahenz

Bom dia pessoal!!!

Tenho uma aplicação web em JSF e preciso gerar um relatório em PDF, utilizando os tópicos do GUJ, desenvolvi a chamada desse relatório....

Acredito que o código abaixo esteja certo... pois muita gente faz da mesma forma, inclusive aqui no GUJ:

protected void gerarRelatorio() throws SQLException, ClassNotFoundException, JRException, IOException {				
		
		setHistoricos(regraDAO.gerarHistoricoPagamentoMetas());
				
		if (!getHistoricos().isEmpty()){

			JRDataSource jrDS = new JRBeanCollectionDataSource(getHistoricos());
			FacesContext facesContext = FacesContext.getCurrentInstance();
			HttpServletResponse response = (HttpServletResponse) facesContext.getExternalContext().getResponse();

			String pathJasper = FacesUtil.getCurrentDirectory()+"/WEB-INF/classes/br/com/company/system";		
			String reportFileName = pathJasper + File.separator + "rel_historico_pagamento_metas.jasper";

			Map<String, String> parametros = new HashMap<String, String>();

			JasperPrint print = JasperFillManager.fillReport(reportFileName, parametros, jrDS);			
			
			byte[] bytes = JasperExportManager.exportReportToPdf(print); 

			response.setContentType("application/pdf");
			response.setContentLength(bytes.length);
			response.setHeader("Content-disposition", "attachment;filename=rel_historico_pagamento_metas.pdf"); 
			response.setHeader("Cache-Control", "cache, must-revalidate");  
			response.setHeader("Pragma", "public");  
			ServletOutputStream outputStream = response.getOutputStream();
			outputStream.write(bytes,0,bytes.length);
			
			outputStream.close();
			
			facesContext.responseComplete();
						
		}		
	}

Executando as linhas acima, o sistema mostra caracteres no browser como os abaixo:

%PDF-1.4 %���� 3 0 obj <>stream x����n�6��z ���*�ԛ�8�I�v/E���.,)��-��ا袷��>@I�R��jD1��0����p8�����G��5�-�� ��=x��]��͟�`�N�?$P�C���9l�����{=_]Ζ�z���cZ��2t��]�G�-�(-��#=x�wE���1����� %�����S��P?�y�� �F�� ��:3(��6J�� �Q�� �ۏ��,;s�ͅ�%����v�FZz;��1qR�:��O�}��Jn�}���~�M�6�q7�@�'Bj�(������*i_��\?��]�~��b-塯T��x�Gn& vjr5�M�‚�>���=�x�b5�0)�L���c�)|8��fu�v�����ۻ�b�h:p:�tQL�V�۵�ߙ�㦙�Ak�ՙ }�]�g��������:�/��劣��;��M_���C��V�4Ib!z���<�.N$�(��2��7�ύ�CI�<�Բ 8���nx�K\^��i;|- ��^{��>�)�w}# � O) �{��㆚r^���P��ײ�y��q{�Fv:x�������9��馑����ڰAK�$5x�|"��$����MT�^~�����.�$��=Q{���{���=ŽOv;�#�E��;�NCC��RyTdel��M���g�uZ|]���s!���u�uW?���4�����̧3���'C���5>��Ǽ1�ưjL���� �uc"1ec��Lo՘��|�������Y�~����=�y7<�F3��5ڑ[���h sY��c�>*�h'�vVƂ��J�<�j+�|���Z�+KHc�$�g�8�W� �ڛ��B&p�R��`�. 2�xR��F0a�. �?vNV����;�,�6���9Зt(��=��O�d^2���١�ȋ:s J\�M�� t]d@��%��OhH�KےQt�| �u[2�����t��t��}[2����ށ {ӕ(�Օ��v%�Mڕ���>��4f���#4%<��'�7���u�_K��k����j����6��t��Yϳ�=�a����{�T�h�+n�_�����=x�>��x�X�5�R�3>y� 8�D�8q�\g�Hr���۷w�rvs���]ݡ�+�jKh�����%��.ӈv �'�*�:2O��1 $�bV7��dw�m2��n�{ͯ�TC�3�/� E�m� ��N��!<��X�S�C������� � Z� endstream endobj 1 0 obj<<<>>>/MediaBox[0 0 595 842]>> endobj 5 0 obj[1 0 R/XYZ 0 854 0] endobj 2 0 obj<> endobj 4 0 obj<> endobj 6 0 obj<> endobj 7 0 obj<> endobj 8 0 obj<> endobj 9 0 obj<> endobj xref 0 10 [telefone removido] 65535 f [telefone removido] 00000 n [telefone removido] 00000 n [telefone removido] 00000 n [telefone removido] 00000 n [telefone removido] 00000 n [telefone removido] 00000 n [telefone removido] 00000 n [telefone removido] 00000 n [telefone removido] 00000 n trailer <]/Info 9 0 R/Size 10>> startxref 2082 %%EOF

Alguém sabe o que pode ser????

Obrigado

7 Respostas

igor_jua

Bom dia dahenz!
Vc sabe como eu faço para mandar meu relatorio para impressão através do Jasper?

dahenz

Cara, nunca precisei fazer isso, mas abra um tópico com esse assunto! Mais gente vai ver…

[]'s

furutani

Daian,
As vezes apareciam esses caracteres que forma o PDF pra mim, mas eu apertava F5 e ai sim aparecia a tela pra fazer download.
Já tentou rodar no firefox essa aplicação?

dahenz

Sim furutani, rodei no google chrome, firefox e ie, todo dá o mesmo erro!!!

No I.E. não me é mostrado os caracteres, mas apresenta o seguinte erro:

Detalhes dos erros da página da Web

Agente de Usuário: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)
Carimbo de data/hora: Thu, 2 Jul 2009 12:38:37 UTC

Mensagem: O objeto não dá suporte para a propriedade ou método
Linha: 166
Caractere: 390
Código: 0
URI: http://localhost:8080/vieweb_template/a4j/g/3_2_2.GAorg.ajax4jsf.javascript.AjaxScript.jsf

dahenz

Furutani… descobri cara!!! Lendo a mensagem que enviei para você, descobri que com o a4j:commandButton, o relatório não gera…

Utilizei h:commandButton, e funcionou!!!

Desculpa o incômodo!! :slight_smile:

furutani

Que bom que descobriu :slight_smile:

dahenz

Furutani, só mais uma dúvida: Os relatórios que você gera são visualizados através de um download??

Criado 2 de julho de 2009
Ultima resposta 2 de jul. de 2009
Respostas 7
Participantes 3