raguiar 4 de nov. de 2004
Nao sei sei é exatamente isso que vc está querendo, mas eu mostro o PDF da seguinte maneira:
// p_nomeRelat -& gt ; Contem o nome do arquivo . jasper gerado pelo iReport
public void geraPdfBrowser & #40;HttpServletRequest request,HttpServletResponse response,
String p_nomeRelat , ResultSet p_rs & #41;
throws ServletException , IOException & #123;
ServletContext context = this . getServletConfig & #40;).getServletContext();
parameters . put & #40;"p_logo",context.getRealPath("/WEB-INF/lib/logo.gif"));
JRResultSetDataSource jrRS = new JRResultSetDataSource & #40; p_rs );
byte & #91;] bytes = null;
try & #123;
JasperReport relatorio = JasperManager . loadReport & #40;context.getRealPath("/WEB-INF/lib/" + p_nomeRelat));
bytes = JasperRunManager . runReportToPdf & #40;relatorio, parameters, jrRS);
& #125;
catch & #40;Exception e) {
response . setContentType & #40;"text/html");
PrintWriter out = response . getWriter & #40;);
out . println & #40;"Erro: " + e.getMessage());
out . close & #40;);
& #125;
// AQUI EU PEGO O PDF GERADO PELO JASPER E FACO A EXIBICAO
// DO MESMO
if & #40;bytes != null && bytes.length > 0) {
response . setContentType & #40;"application/pdf");
response . setContentLength & #40;bytes.length);
ServletOutputStream ouputStream = response . getOutputStream & #40;);
ouputStream . write & #40;bytes, 0, bytes.length);
ouputStream . flush & #40;);
ouputStream . close & #40;);
& #125;else {
response . setContentType & #40;"text/html");
PrintWriter out = response . getWriter & #40;);
out . println & #40;"Sem dados para impressao");
out . close & #40;);
& #125;
& #125;
marcioa1 4 de nov. de 2004
Ricardo,
Obrigado, mas estou utilizando Swing
JRExporter exporter = new JRPdfExporter();
JasperPrint print;
OutputStream fos = null;
List beans = new ArrayList();
// Formulario umFormulario = new Formulario("formulario0000003072004.txt");
CapaDeFormulario capa = new CapaDeFormulario();
capa.setPeriodo("07/2004");
capa.setNomeDoPrestador("Márcio Aun Migueis");
beans.add(capa);
JRDataSource jrds = new JRBeanArrayDataSource(beans.toArray());
try{
print = JasperFillManager.fillReport("C:/DIXAMICO/Relatorios/Capa",null,jrds);
fos = new FileOutputStream("c:/temp/saida.pdf");
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM,fos);
exporter.setParameter(JRExporterParameter.JASPER_PRINT,print);
exporter.exportReport();
fos.close();
Preciso de uma alternativa ao JRExporter exporter = new JRPdfExporter();
Obrigado,
Márcio