Caminho Relativ no iReport + Vraptor

8 respostas
C

Pessoal Bom Dia, tenho o seguinte relatório:

PARA GERAR O PDF COM AS NOTAS FISCAIS

@SuppressWarnings(unchecked)

public void geraNf(int numero) throws ClassNotFoundException, SQLException, JRException{

Map parametros = new HashMap();

parametros.put(numero, numero);

<a href="//parametros.put">//parametros.put</a>(“cliente”, cod_cliente);
String path = getClass().getResource("").getPath();
	
	// compila o relatorio
	JasperReport relatorio = JasperCompileManager.compileReport("C:\\Users\\Chámam\\workspace\\cepheus\\relatorios\\notaFiscal.jrxml");

	// obtem uma conexao JDBC
	Connection con = getConexao();

	//Preencher com os outros atributos
	JasperPrint impressao = JasperFillManager.fillReport(relatorio, parametros, con);
	
	//JasperPrintManager.printPages(impressao, 0, impressao.getPages().size()-1, false);
	
	
	
	//exibe o resultado da impressao na previsualizacao padrao Swing
	//JasperViewer viewer = new JasperViewer(impressao, true);
	//viewer.show();
	
	
	JasperExportManager.exportReportToPdfFile(impressao, "C:\\Users\\Chámam\\workspace\\cepheus\\relatorios\\notaFiscal.pdf");
	File arquivo = new File ("C:\\Users\\Chámam\\workspace\\cepheus\\relatorios\\notaFiscal.pdf");
	try{
		Desktop.getDesktop().open(arquivo);
	}catch (Exception e) {

	}
	
}

Que só funciona quando eu passo o caminho absoluto dos arquivos, alguém tem alguma ideia de como fazer isso funcionar com caminho relativo…

Agradeço muito…

Abs…

8 Respostas

ViniGodoy

Ao postar códigos, por favor, use a tag code:
http://www.guj.com.br/java/50115-voce-e-novo-no-guj-vai-criar-um-topico-e-colar-seu-codigo-fonte-leia-aqui-antes-por-favor

C
PARA GERAR O PDF COM AS NOTAS FISCAIS
@SuppressWarnings("unchecked")
	public void geraNf(int numero) throws ClassNotFoundException, SQLException, JRException{
		Map parametros = new HashMap();  
		parametros.put("numero", numero);
		//parametros.put("cliente", cod_cliente);
		
		String path = getClass().getResource("").getPath();
		
		// compila o relatorio
		JasperReport relatorio = JasperCompileManager.compileReport("C:\\Users\\Chámam\\workspace\\cepheus\\relatorios\\notaFiscal.jrxml");

		// obtem uma conexao JDBC
		Connection con = getConexao();

		//Preencher com os outros atributos
		JasperPrint impressao = JasperFillManager.fillReport(relatorio, parametros, con);
		
		//JasperPrintManager.printPages(impressao, 0, impressao.getPages().size()-1, false);
		
		
		
		//exibe o resultado da impressao na previsualizacao padrao Swing
		//JasperViewer viewer = new JasperViewer(impressao, true);
		//viewer.show();
		
		
		JasperExportManager.exportReportToPdfFile(impressao, "C:\\Users\\Chámam\\workspace\\cepheus\\relatorios\\notaFiscal.pdf");
		File arquivo = new File ("C:\\Users\\Chámam\\workspace\\cepheus\\relatorios\\notaFiscal.pdf");
		try{
			Desktop.getDesktop().open(arquivo);
		}catch (Exception e) {

		}
		
	}
ViniGodoy

Corrigi seu post acima para incluir a indentação.

C

Obrigado Vini pelo apoio, sou novo aqui, e esse problema de caminho relativo está me perseguindo, sei que deve ser algo simples… vc tem alguma ideia de como ajustar isso?

Grato.

ViniGodoy

Você pode usar o . normalmente.

Agora, o local do caminho “.”, por ser relativo, nem sempre aponta para onde você espera. O ideal é descobrir para onde seu eclipse ou netbeans está apontando imprimindo:

C

Vini,

utilizei esse método aqui:

e obtive o seguinte resultado :

Tem alguma ideia se preciso configurar algo?

Grato.

ViniGodoy

Por que você usou o getResource()? Não faz muito sentido imprimir o path do getResource(), já que muitas vezes ele pontará apara arquivos dentro de um .jar

G

Trabalhar com arquivos é sempre chato. Acho que o mais simples é ao invés do ireport gerar um arquivo você pode manipular direto via stream.

Além disso se você está em um ambiente web isso não vai funcionar:

Criado 12 de fevereiro de 2011
Ultima resposta 12 de fev. de 2011
Respostas 8
Participantes 3