O favor que eu preciso é:
alguém poderia copiar esse código abaixo e rodar em sua máquina e me dizer se está funcionando, ou seja, se ele está gerando o arquivo PDF???
é que na minha máquina não estou conseguindo gerar o .pdf, eu consigo apenas visualizar.
para executar, baixem o iReport e copiem para o seu lib os seguintes pacotes:
commons-collections-2.1.jar
commons-javaflow-20060411.jar
commons-logging-api-1.0.2.jar
iReport.jar
jasperreports-1.3.0.jar (pode ser algum anterior)
Aí vai o código:
try {
Connection con = null;
String driver = "net.sourceforge.jtds.jdbc.Driver";
String url = "jdbc:jtds:sqlserver://localhost/BANCO";
String login = "blabla";
String senha = "bleble";
try {
Class.forName(driver);
con = DriverManager.getConnection(url, login, senha);
} catch (Exception e) {
e.printStackTrace();
}
HashMap map = new HashMap();
StringBuffer sb = new StringBuffer();
sb.append("SELECT CAMPO1 AS Nome_Curso, CAMPO2 AS Nome_Instrutor FROM TABELA ");
JasperDesign jasperDesign = new JasperDesign ();
jasperDesign.setName("SampleReport");
jasperDesign.setPageWidth(600);
jasperDesign.setPageHeight(750);
jasperDesign.setColumnWidth(50);
jasperDesign.setColumnSpacing(10);
jasperDesign.setLeftMargin(10);
jasperDesign.setRightMargin(10);
jasperDesign.setTopMargin(10);
jasperDesign.setBottomMargin(10);
JRDesignStyle normalStyle = new JRDesignStyle();
normalStyle.setName("Arial_Normal");
normalStyle.setDefault(true);
normalStyle.setFontName("Arial");
normalStyle.setFontSize(11);
normalStyle.setPdfFontName("Helvetica");
normalStyle.setPdfEncoding("Cp1252");
normalStyle.setPdfEmbedded(false);
jasperDesign.addStyle(normalStyle);
JRDesignQuery query = new JRDesignQuery();
query.setText(sb.toString());
jasperDesign.setQuery(query);
sb.delete(0, sb.length());
JRDesignField field = new JRDesignField();
field.setName("Nome_Curso");
field.setValueClass(java.lang.String.class);
jasperDesign.addField(field);
field = new JRDesignField();
field.setName("Nome_Instrutor");
field.setValueClass(java.lang.String.class);
jasperDesign.addField(field);
JRDesignBand band = new JRDesignBand();
band.setHeight(300);
JRDesignStaticText staticText = new JRDesignStaticText();
staticText.setX(350);
staticText.setY(0);
staticText.setWidth(200);
staticText.setHeight(20);
staticText.setHorizontalAlignment(JRAlignment.HORIZONTAL_ALIGN_RIGHT);
staticText.setStyle(normalStyle);
staticText.setText("Relatório de Síntese");
band.addElement(staticText);
staticText = new JRDesignStaticText();
staticText.setX(5);
staticText.setY(20);
staticText.setWidth(45);
staticText.setHeight(15);
staticText.setHorizontalAlignment(JRAlignment.HORIZONTAL_ALIGN_LEFT);
staticText.setStyle(normalStyle);
staticText.setText("Curso: ");
band.addElement(staticText);
JRDesignTextField textField = new JRDesignTextField();
textField.setX(50);
textField.setY(20);
textField.setWidth(200);
textField.setHeight(15);
textField.setHorizontalAlignment(JRAlignment.HORIZONTAL_ALIGN_LEFT);
textField.setStyle(normalStyle);
JRDesignExpression expression = new JRDesignExpression();
expression.setValueClass(java.lang.String.class);
expression.setText("$F{Nome_Curso}");
textField.setExpression(expression);
band.addElement(textField);
staticText = new JRDesignStaticText();
staticText.setX(5);
staticText.setY(35);
staticText.setWidth(45);
staticText.setHeight(15);
staticText.setHorizontalAlignment(JRAlignment.HORIZONTAL_ALIGN_LEFT);
staticText.setStyle(normalStyle);
staticText.setText("Instrutor: ");
band.addElement(staticText);
textField = new JRDesignTextField();
textField.setX(50);
textField.setY(35);
textField.setWidth(200);
textField.setHeight(15);
textField.setHorizontalAlignment(JRAlignment.HORIZONTAL_ALIGN_LEFT);
textField.setStyle(normalStyle);
expression = new JRDesignExpression();
expression.setValueClass(java.lang.String.class);
expression.setText("$F{Nome_Instrutor}");
textField.setExpression(expression);
band.addElement(textField);
jasperDesign.setTitle(band);
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, map, con);
JasperExportManager.exportReportToPdfFile(jasperPrint, "C:\\Documents and Settings\\jasper\\Desktop\\MeuRelatorio.pdf");
} catch (JRException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(null,e.getMessage());
}catch (SQLException s){
s.printStackTrace();
}
Não se esqueçam de alterar os dados do seu banco de dados e colocar os campos na consulta do StringBuffer, além de alterar o caminho da criação do arquivo ‘.pdf’.
postem os resultados, por favor…
obrigado desde já