Ajuda no JasperReport - URGENTE

Tenho um relatório e eu estou chamando ele pela aplicação. Eu gostaria de chamar o relatório no formato PDF, será que alguém pode me ajudar ? Poderia me passar um código para eu fazer isto …

Muito obrigado,

troque essa linha:

JasperViewer.viewReport(jasperPrint,false);

por essa:

JasperManager.printReportToPdfFile(jasperPrint, "Dinamico.pdf");

Cara fiz exatamente o que você me explicou e funcionou. Ele gera um arquivo .pdf como eu quero na pasta do relatório.
Agora será que alguém tem uma alternativa além de ele criar o arquivo .pdf ele abre este arquivo na tela automaticamente ?

Estou no aguardo e obrigado rdbj pela ajuda …

[quote=“Frank”]Cara fiz exatamente o que você me explicou e funcionou. Ele gera um arquivo .pdf como eu quero na pasta do relatório.
Agora será que alguém tem uma alternativa além de ele criar o arquivo .pdf ele abre este arquivo na tela automaticamente ?

Estou no aguardo e obrigado rdbj pela ajuda …[/quote]

Uma alternativa seria você chamar o Acrobat Reader (isso se você estiver utilizando uma aplicação swing ), nesse caso você precisa verificar os parametros do acrobat reader para chamar um pdf :
Abaixo em chamo a calculadora em C:\WINDOWS\CALC.EXE, você pode melhorar esse exemplo, o código precisa de um refatoramento :lol:

import java.io.IOException;

   public class ExecutaProgramas {

      public static void main(String [] args) {

        Runtime run = Runtime.getRuntime();
        try {
           //coloque o caminho do Acrobat Reader abaixo
           run.exec("C:WINDOWSCALC.EXE"); 
        }
        catch(IOException ioe) {
           System.err.println(ioe.getMessage());
        }

     }

} 

Douglas,
Tentei chamar o calc.exe como você mostrou no seu código só como teste e ele caiu no catch e deu a seguinte mensagem:

O código eu coloquei assim:

try { 
   run.exec("C:WINNTSYSTEM32CALC.EXE");
     } 
catch(IOException ioe) { 
   System.err.println(ioe.getMessage()); 
   }

Coloquei este código direto no main do meu programa.
Será que eu fiz alguma coisa errada ? Ou você Douglas ou alguém tem uma outra solução ?

Obrigado pela ajuda,

[quote=“Frank”]Douglas,
Tentei chamar o calc.exe como você mostrou no seu código só como teste e ele caiu no catch e deu a seguinte mensagem:

O código eu coloquei assim:

try { 
   run.exec("C:WINNTSYSTEM32CALC.EXE");
     } 
catch(IOException ioe) { 
   System.err.println(ioe.getMessage()); 
   }

Coloquei este código direto no main do meu programa.
Será que eu fiz alguma coisa errada ? Ou você Douglas ou alguém tem uma outra solução ?

Obrigado pela ajuda,[/quote]

Você precisa colocar a dupla barra invertida c://winnt//system32//calc/.exe (só que você inverte a barra para ) quando eu o coloquei no exemplo o fórum arrancou fora a barra invertida dupla.

Valeu pela ajuda Douglas, consegui chamar o Adobe Acrobat. Agora como eu poderia carregar o meu relatório que eu estou criando como .pdf nele ?

Aguardo pela ajuda …

[quote=“Frank”]Valeu pela ajuda Douglas, consegui chamar o Adobe Acrobat. Agora como eu poderia carregar o meu relatório que eu estou criando como .pdf nele ?

Aguardo pela ajuda …[/quote]

Basta você chamar o Acrobat reader mais o caminho no qual se encontra o arquivo .pdf

acrord32 c:\diretorio\java.pdf

Também tem uma outra assinatura do comando exec (se aquela alternativa não der certo também tem essa) :

public Process exec(String[] cmdarray)
throws IOExceptionExecutes the specified command and arguments in a separate process.
The command specified by the tokens in cmdarray is executed as a command in a separate process. This has exactly the same effect as exec(cmdarray, null).

If there is a security manager, its checkExec method is called with the first component of the array cmdarray as its argument. This may result in a security exception.

Parameters:
cmdarray - array containing the command to call and its arguments.
Returns:
a Process object for managing the subprocess.
Throws:
SecurityException - if a security manager exists and its checkExec method doesn’t allow creation of a subprocess.
IOException - if an I/O error occurs
See Also:
exec(java.lang.String[], java.lang.String[]), SecurityManager.checkExec(java.lang.String)

Muito obrigado Douglas !!!
Consegui chamar o relatório. Agora já posso colocar o meu projeto em produção.

Obrigado pela ajuda.