Bueno, aquí tienes un trozo de código que envía un informe a disco, en formato pdf y luego lo envía por email.
Código:
//
if bPreview then
ppInformes.DeviceType := 'Screen'
else
ppInformes.DeviceType := 'Printer';
//
if bEsEmail then
begin
ppInformes.ShowPrintDialog := bMostrarDlg;
ppInformes.PrinterSetup.Copies := 1;
ppInformes.AllowPrintToArchive := true;
ppInformes.DeviceType := 'PDFfile';
cDocumento := ExtractFilePath(ParamStr(0)) +'e-mails\';
if not DirectoryExists( cDocumento ) then
if not CreateDir( cDocumento ) then
LanzarExcepcion('Error al crear el directorio:'+cDocumento);
cDocumento := cDocumento + 'report2email' + FormatDateTime('yymmddhhnnss',now) + '.pdf';
ppInformes.TextFileName := cDocumento;
end;
//
ppInformes.Print; // Lo envia a impresora o fichero si es para email
//
if bEsEmail then
begin
if bPreview then
begin
cPrograma := funciones.BuscarEjecutableAsociado( cDocumento );
funciones.RunAndWaitShell( cPrograma, cDocumento, Sw_ShowNormal );
end;
EnviarEmail( iCodInforme, cDocumento, cDatosEmail, bMostrarDlgMail );
end;
//