Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-09-2003
Avatar de marto
marto marto is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona, Catalunya
Posts: 882
Poder: 21
marto Va por buen camino
Error FastReport en cgi

Hola a todos,

Estoy intentando generar ficheros pdf desde web. Para ello la idea es generar un informe con FastReport, exportarlo a pdf y servir el pdf al navegador. El código para hacer esto és:
Código:
procedure GeneraPdf;
var
  t: TPsfrPDFExport;
begin
    t := TPsfrPDFExport.Create(Self);
    try
      with frReport1 do
      begin
        ShowPrintDialog := false;
        ShowProgress    := false;
        PrepareReport;
      end;
      t.ShowDialog := false;
      frReport1.ExportTo(t, NomPdf); 
     //NomPdf es un String con el nombre del fichero
    finally
      t.Free;
    end;
end;
En la TWebAction llamo a la función y redirecciono al pdf.

Si llamo al exe desde la consola (es un cgi, pero con un wincgi pasa lo mismo) funciona perfectamente, pero si lo ejecuto a través del servidor web, windows lanza un error (en el lado del servidor, claro) diciendo "unsuported format FRF".
Digo que es windows ya que todo el cgi se ejecuta en un bloque try except, en caso de saltar una excepción, devuelvo el mensaje en forma de HTML. Pues bien, windows saca ese mensaje y el cgi se queda bloqueado hasta que aceptas el mensaje. Cuando lo aceptas el programa levanta otra excepción (esta vez sí es el cgi, y el mensaje aparece en el HTML devuelto) con el texto "no printer currently selected".
He leído por ahí que la versión 2.5 de FR (la que yo uso) da un error si no hay impresora por defecto, pero es que el servidor sí tiene una impresora instalada.
Bueno, esto es todo, a ver si alguien me echa un cable porque necesito generar esos pdf's con urgencia y los informes ya los tengo hechos en FR.
__________________
E pur si muove
Responder Con Cita
  #2  
Antiguo 30-09-2003
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 23
guillotmarc Va por buen camino
Hola.

Es solo una idea, pero podria ser que si el servicio servidor IIS se está ejecutando en LocalSystem, tenga un perfil distinto al que ves en el escritorio, y no tenga impresoras definidas (la mania de Windows de tener distintas configuraciones de impresoras para cada usuario).

Prueba a poner el Servicio que arranque con las credenciales del usuario Administrador (el cual tiene seguro impresora).

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #3  
Antiguo 30-09-2003
Avatar de marto
marto marto is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona, Catalunya
Posts: 882
Poder: 21
marto Va por buen camino
La idea era buena, Marc. Pero he comprobado que lo que "había leído por ahí" no es cierto, ya que he montado el cgi en otra máquina sin impresora y ha funcionado a la perfección. En la máquina que corre bien el servidor se ejecuta también como LocalSystem, así que no tengo ni pajolera idea, pero algo está mal o en mi servidor o en mi Windows, pero después de reinstalar varias verces el servidor web no sé qué más probar. Por cierto, el servido es un WebSite Profesional 2.5
__________________
E pur si muove
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 15:10:36.


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
Copyright 1996-2007 Club Delphi