JasperPrint jasperPrint = JasperFillManager.fillReport(jasperStream, parametros,dataSource);
String nomeArquivo = "FICHA "+condutor.getNome().toUpperCase();
JRPdfExporter exportadorDePDF = new JRPdfExporter();
SimplePdfExporterConfiguration configuracaoSimplesDoExportadorDePDF = new SimplePdfExporterConfiguration();
configuracaoSimplesDoExportadorDePDF.setMetadataAuthor("Denis Benjamim");
configuracaoSimplesDoExportadorDePDF.setMetadataTitle(nomeArquivo);
configuracaoSimplesDoExportadorDePDF.setMetadataSubject("Ficha Cadastral Condutor "+condutor.getNome());
configuracaoSimplesDoExportadorDePDF.setMetadataCreator("Transparency Logistica e Transportes ltda");
configuracaoSimplesDoExportadorDePDF.setMetadataKeywords("Ficha,Ficha Cadastral,Condutor,RG,CPF,CNH,habilitacao");;
configuracaoSimplesDoExportadorDePDF.set128BitKey(true);
configuracaoSimplesDoExportadorDePDF.setEncrypted(true);
configuracaoSimplesDoExportadorDePDF.setUserPassword("password");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
exportadorDePDF.setExporterInput(new SimpleExporterInput(jasperPrint));
exportadorDePDF.setExporterOutput(new SimpleOutputStreamExporterOutput(baos));
exportadorDePDF.setConfiguration(configuracaoSimplesDoExportadorDePDF);
exportadorDePDF.exportReport();
return ResponseEntity.ok()
.header(HttpHeaders.CONTENT_DISPOSITION,"inline; filename="+nomeArquivo+".pdf")
.body(baos.toByteArray());
Resumindo estou configurando no pdf, o nome do autor, titulo, assunto, criador, palavras chaves, tipo de criptografía, informando que sera criptografado e terá senha, nada além dessas pequenas coisas.setMetadataAuthor -> Pessoa que solicitou o pdf.
setMetadataTitle-> Titulo do pdf sera exibido na janela
setMetadataSubject ->Assunto do pdf.
setMetadataCreator-> Nome do software ou Empresa responsavel pela criação do PDF.
setMetadataKeywords-> Palavras chaves utilizadas para pesquisa do pdf.
set128BitKey-> Criptografía dos dados no pdf.
setEncrypted->Ativa criptografia.
setUserPassword-> Senha para acessar o pdf.
A classe responsável pela configuração é a SimplePdfExporterConfiguration, nela configuramos as informações conforme visto no codigo.
JRPdfExporter classe responsavel por exportar o pdf.
ByteArrayOutputStream sera usado para junto do JRPdfExporter para gerar o pdf.
setExporterInput -> Fluxo de entrada com jasperPrint.
setExporterOutput -> Fluxo de saida.
setConfiguration -> Arquivo de configuração que sera usado na geraçao do pdf.
exportReport - > Persiste a configuracao personalizada para ser enviada ao navegador.
No pdf temos a seguinte saida em suas propriedades.
Nenhum comentário:
Postar um comentário