Jasper

1 resposta
fmy_1

Ola pessoal, como vao?

Bom, estou ja uso o jasper a muito tempo com o iReport, agora preciso criar um relatorio PDF que não tem conexão com o banco e estou com problemas, para gerar o relatorio HTML sem o banco já consegui … segue o codigo abaixo de como estou tentando fazer:

public class TestMaim {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		//PARA HTML
//		ClienteBean[] clientes = {
//				new ClienteBean("Sergio", "Ribeirao", "30", "465465465"),
//				new ClienteBean("Italo", "Remelexo", "20", "[telefone removido]"),
//				new ClienteBean("Merdis", "Ribeira", "15", "[telefone removido]")
//		};		
//		String reportSource = "g:/Projetos/Java/ProjetosCurrent/CommonMyJava/src/jasper/dinamic/RelatorioModeloTeste.jrxml";
//		ClienteModeloTeste clienteModel = new ClienteModeloTeste();
//		Map<String,Object> parameters = clienteModel.getParam();
//		
//		try{
//		JasperReport jasperReport =	JasperCompileManager.compileReport(reportSource);
//		List<ModeloTesteBean> lista = clienteModel.getConteudo(clientes);
//		System.out.println("IMPRIMINDO LISTA");
//		for (int i = 0; i < lista.size(); i++) {
//			System.out.println(lista.get(i).getDado1());
//		}
//		JRBeanCollectionDataSource jrBean = new JRBeanCollectionDataSource(lista);
//		JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, jrBean);
//		JasperExportManager.exportReportToHtmlFile(jasperPrint, "c:/dddA.html");
//		JasperViewer.viewReport(jasperPrint, false);
//		}catch(Exception e){
//			e.printStackTrace();
//			System.out.println(e);};
			
		// PARA PDF
		ClienteBean[] clientes = {
		new ClienteBean("Sergio", "Ribeirao", "30", "465465465"),
		new ClienteBean("Italo", "Remelexo", "20", "[telefone removido]"),
		new ClienteBean("Merdis", "Ribeira", "15", "[telefone removido]")
		};
		
		String reportJasper = "g:/Projetos/Java/ProjetosCurrent/CommonMyJava/src/jasper/dinamic/RelatorioModeloTeste.jasper";
		String reportPrint = "g:/Projetos/Java/ProjetosCurrent/CommonMyJava/src/jasper/dinamic/RelatorioModeloTeste.jrprint";
		ClienteModeloTeste clienteModel = new ClienteModeloTeste();
		Map<String,Object> parameters = clienteModel.getParam();
		
		try{				
		List<ModeloTesteBean> lista = clienteModel.getConteudo(clientes);
		JRBeanCollectionDataSource jrBean = new JRBeanCollectionDataSource(lista);
		JasperFillManager.fillReportToFile(reportJasper, parameters, jrBean);
		JasperExportManager.exportReportToPdfFile(reportPrint,"c:/to.pdf");
		JasperViewer.viewReport(reportPrint,false);
		}catch(Exception e){};
		
	}

}

–> Ocorre o seguinte erro:

Exception in thread "main" java.lang.NoClassDefFoundError: com/lowagie/text/DocumentException
	at net.sf.jasperreports.engine.JasperExportManager.exportReportToPdfFile(JasperExportManager.java:121)
	at net.sf.jasperreports.engine.JasperExportManager.exportReportToPdfFile(JasperExportManager.java:103)
	at jasper.dinamic.TestMaim.main(TestMaim.java:66)
Caused by: java.lang.ClassNotFoundException: com.lowagie.text.DocumentException
	at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
	... 3 more

Pessoal, como disse, ja usei o jasper muitas vezes e para gerar relatorios com conexão com o banco funciona corretamente, o problema agora é que não estou usando conexão com o banco, no lugar de um JRResultSetDataSource estou usando um JRBeanCollectionDataSource, alguem saberia a solução para criar um relatorio pdf no jasper sem a necessidade de uma conexão com o banco de dados?

Valeu pessoal !! =)

1 Resposta

fmy_1

Pessoal, descobri, estava faltando a lib iText no projeto.

Valeu ai galera!!

Criado 12 de agosto de 2009
Ultima resposta 12 de ago. de 2009
Respostas 1
Participantes 1