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,
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.