Hi jljunked, first of all sorry for my scholastic english... i'm new with jasper reports but i try to help you: I've tried your code in a project and it works (not in a servlet... and idon't know if is the same thing). The only difference with that you've done is the way to compile. You have used the "JasperCompileManager.compileReportToFile() " method and i've used the "JRXmlLoader.load() method. Have a look at what i've done: String fileJrxml="C:/<windows path>/Results.jrxml"; InputStream is = new InputStream(fileJrxml); //if the path is relative (the jrxml file is in your project) you should use "this.class.getResourceAsStream(fileJrxml)"; JasperReport jr = this.compile(is); //see the attacched code to have a look at this method. JasperPrint jasperPrint= JasperFillManager.fillReport(jr, parameters,<your JRDataSource>) byte[] report = JasperExportManager.exportReportToPdf(jasperPrint); FileOutputStream fos = new FileOutputStream("C:test.pdf"); fos.write(report); fos.flush(); fos.close(); I hope this help you Giovanni ...La puissance est rien sans controle... Code://in this method, to compile, i've used the "JRXmlLoader.load()" method public static JasperReport compile(InputStream is) { JasperReport jasperReport = null; try { JasperDesign jasperDesign = JRXmlLoader.load(is); JRJavacCompiler compiler = new JRJavacCompiler(); jasperReport = compiler.compileReport(jasperDesign); } catch (JRException e) { throw new RuntimeException(e.fillInStackTrace()); } return jasperReport; } Post Edited by giobby at 10/15/2009 09:48