![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
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; 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 |
#2
|
||||
|
||||
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). |
#3
|
||||
|
||||
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 |
![]() |
|
|
![]() |
|