Código
Coloque em um form, tres componentes :
1 – SaveDialog
1 – RvProject
1 – RvSystem
1 – RvRenderPDF
Configure uma conexão com o dsConection e sua query, a que vai gerar o relatório e vamos entender como funciona a exportação.
Eu coloquei dentro de uma procedure, onde Relatorio, é o nome do relatório Rave que eu vou chamar.
Então dentro de um evento on-clique eu chamo a procedure, exemplo:
exportarPDF(‘Relatorio de Custos’);
procedure TF_RelPadrao.exportarPDF(Relatorio : String);
var
//Aqui eu declare esta variavel apenas para pegar o caminho de onde será salvo o arquivo...
caminho : string;
begin
if SaveDialog1.Execute then
caminho := SaveDialog1.FileName;
//Entao dentro do bloco Try eu coloco:
Try
// Aqui definimos que o destino do relatório será um arquivo...
RvSystem.DefaultDest := rdFile;
RvSystem.DoNativeOutput := False;
RvSystem.OutputFileName := caminho;
// Aqui ele pega o arquivo gerado e renderiza para o tipo PDF
RvSystem.RenderObject := RvRenderPDF1;
// Aqui mandamos executar o relatório, como se fosse imprimir, mas ele será //exportado
RvProjPadrao.ExecuteReport(Relatorio);
// Se der tudo certo ele gera uma mensagem informando o sucesso...
MessageBox(Handle,'Arquivo Gerado com Sucesso!','Exportação',MB_OK + MB_ICONINFORMATION);
except
// Se der algum erro ele avisa...
MessageBox(Handle,'Erro ao tentar exportar!','Exportação',MB_OK + MB_ICONERROR);
end;
Expero ter ajudado, foi a forma mais simples que achei de exportar para PDF.
Qualquer dúvida deixa um recado que tento ajudar, vlw.
end;
Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009