Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   rave report generar PDF (https://www.clubdelphi.com/foros/showthread.php?t=36371)

aldmoscardi 10-10-2006 11:44:32

rave report generar PDF
 
Hola a todos, tengo un serio problema, e creado con los componentes indy un cliente de correo SMTP para el envio de informes, el problema es que no puedo crear el pdf desde codigo, transparente para el usuario, y usando un codigo que encontre en el foro, me termina destruyendo al archivo .rav que contiene el proyecto del reporte, si algien sabe la solucion les agradeseria. el codigo que uso para crear el pdf es el siguiente:

procedure generarPDF
var
pdfstream : TMemoryStream;
begin
pdfstream := TMemoryStream.create(self);
try
pdfstream.loadfromfile(NDRWriter.filename);
PDF.PrintRender(pdfStream, ´C:\myArchivoEnFormatopdf.pdf´);
except
//MostrarError
end;
pdfstream.free;
end;

//Ante cualquier respuesta que me ayude muchas gracias

Loviedo 10-10-2006 14:36:03

Generar PDF
 
Esto me funciona.
Saludos.

aldmoscardi 10-10-2006 22:26:14

Gracias por tomarte el tiempo, saludos

fly 12-10-2006 04:27:22

Este es el que yo uso, ya no recuerdo si lo hice o lo pille por ahí, aunque ahora que me fijo casi seguro que lo hice... a juzgar por la cantidad de "exits" que hay ;)

Código Delphi [-]
Function TDMreport.Report2File(Tipo: String; report_name: string; file_name: String): Integer;
begin
// ****  CREAR PDF FUNCIONA OK *******
  Screen.Cursor:=crHourGlass;
  RvSystem1.DefaultDest := rdfile;
  RvSystem1.DoNativeOutput := false;
// Seleccionamos el report
  if not RvProject1.SelectReport(report_name,false)
     then
      begin
       Result:=1; // Repor No encontrado
       Screen.Cursor:=crDefault;
       exit;
      end;
// Seleccionamos el renderizador...
  if Uppercase(tipo)='PDF' then RvSystem1.RenderObject := RvRenderPDF1;
  if Uppercase(tipo)='HTM' then RvSystem1.RenderObject := RvRenderHTML1;
  if Uppercase(tipo)='RTF' then RvSystem1.RenderObject := RvRenderRTF1;
  if Uppercase(tipo)='TXT' then RvSystem1.RenderObject := RvRenderText1;

// le quitamos el permiso de mostrar el setup
  RvSystem1.SystemSetups := RvSystem1.SystemSetups - [ssAllowSetup];
// asignamos el nombre del fichero
  RvSystem1.OutputFileName:=file_name+'.'+tipo;
// ejecutamos el report
  try
   RvProject1.Execute;
  except
   on E: Exception do
         begin
          result:=1;
          showmessage(e.Message);
          Screen.Cursor:=crDefault;
          exit;
         end;
  end; // try

// ****  FIN  CREAR PDF FUNCIONA OK *******
  Screen.Cursor:=crDefault;
  result:=0;
end;
A ver si te vale, yo lo uso para enviar el PDF por correo sin hacer previo.


La franja horaria es GMT +2. Ahora son las 02:31:43.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi