Recent

Author Topic: imprimir fotos desde lazReport  (Read 5794 times)

Bobito

  • New Member
  • *
  • Posts: 21
imprimir fotos desde lazReport
« on: June 23, 2018, 01:26:54 am »
Hola, un afectuoso saludo.
Estoy siguiendo el ejemplo que está en: http://wiki.freepascal.org/LazReport_Tutorial
para imprimir con lazReport fotografías que grabé en la tabla employee de la base de datos employee.fdb (esa bd se instala como ejemplo para hacer diversas prácticas), en el campo PHOTO. Desde dbTour Pro ligué las fotos por medio del editor de blobs a archivos jpg y de hecho las veo cuando edito los registros en dbTour Pro, pero al ejecutar el mi programa y hago click sobre el botón 'Preview' recibo el cuadro de Notificación de Execpciones del Depurador que me dice que hay un error. JPEG error.
Quiero señalar que cuando ligué el campo PHOTO a los archivos jpg correspondientes como imagen, me da la opción JPEG y no JPG. Qué debo hacer? Gracias de antemano ...




GAN

  • Sr. Member
  • ****
  • Posts: 370
Re: imprimir fotos desde lazReport
« Reply #1 on: June 23, 2018, 04:59:14 am »
Yo me volví loco para imprimir imágenes con LazReport, al final lo conseguí pero no logré eliminar las excepciones cuando ejecuto el programa desde Lazarus. Si el programa lo ejecuto desde el sistema operativo funciona bien, sin errores.

Pregunta: ¿ejecutando el programa fuera del IDE, te produce algún error? ¿En LazReport utilizas "Insertar imagen"?
Lazarus 2.0.8 FPC 3.0.4 Linux Mint Mate 19.3
Zeos 7̶.̶2̶.̶6̶ 7.1.3a-stable - Sqlite 3.32.3 - LazReport

jesusr

  • Sr. Member
  • ****
  • Posts: 484
Re: imprimir fotos desde lazReport
« Reply #2 on: June 23, 2018, 05:45:32 am »
@GAN: ¿Qué excepciones? ¿Tienes algún backtrace que indique donde se originan?

@Bobito: ¿Qué versión de firebird usas? si es 2.x podrías hacer una bdd pequeña y con un programa ejemplo adjuntarlo a un bug report así podría darle un vistazo.

GAN

  • Sr. Member
  • ****
  • Posts: 370
Re: imprimir fotos desde lazReport
« Reply #3 on: June 23, 2018, 06:37:38 am »
@jesusr

Con imágenes JPG no lanza ninguna excepción el depurador, pero con las PNG sí. Por lo que veo el problema es con el header. Adjunto capturas.

LazReport 0.9.9.

Saludos.
Lazarus 2.0.8 FPC 3.0.4 Linux Mint Mate 19.3
Zeos 7̶.̶2̶.̶6̶ 7.1.3a-stable - Sqlite 3.32.3 - LazReport

Bobito

  • New Member
  • *
  • Posts: 21
Re: imprimir fotos desde lazReport
« Reply #4 on: June 24, 2018, 12:50:33 am »
Mi versión de Lazarus es la más reciente 1.8.4,  uso firebird 2.5, y ciertamente uso insertar image. Curiosamente cuando lo ejecuto desde el IDE contrario a lo que le sucede a GAN, no hay problema, sí muestra las fotos. El problema es cuando ejecuto el .exe. Estoy pensando que probablemente el problema se origine al ligar las fotos al campo photo en la tabla employees desde dbTour Pro a través del editor de blobs. Como debiera grabar esa información en la tabla? Gracias un millón por su apoyo.
« Last Edit: June 24, 2018, 12:57:11 am by Bobito »

Bobito

  • New Member
  • *
  • Posts: 21
Re: imprimir fotos desde lazReport!!!
« Reply #5 on: June 24, 2018, 01:39:46 am »
Bingo !!! Se me ocurrió comentar la línea que le asigna el valor 'jpg' a la variable GraphExt dentro del procedimiento frReport1DBImageRead que se ejecuta en el evento OnDBImageRead del reporte.

procedure TForm1.frReport1DBImageRead(Sender: TObject; S: TStream;
  var GraphExt: string);
begin
  // Force TDBImage to Delphi compatible behaviour: únicamente acepta un formato de fichero, e.g. jpg
  // esto significa que los BLOBs de la base de datos deben ser justamente ficheros jpg binarios sin más datos.
  //GraphExt:='jpg';   <<<<<===== esta línea *****
end;

y funcionó a las mil maravillas. Por qué? No lo séééé. Tal vez en esta nueva versión de Lazarus establecer ese valor ya resulte innecesario. Ojalá alguien nos pueda aclarar eso !!!. Por ahora funcionó, claro que me quedaría mas satisfecho con alguna explicación.
Por ahora no voy a cerrar el tema. Me gustaría saber sus comentarios, y después si todo continúa funcionando bien, entonces dar el tema por concluido.
Voy a probar con imágenes en formato 'png' para ver que pasa y ya les comentaré mi experiencia.
« Last Edit: June 24, 2018, 01:48:12 am by Bobito »

Bobito

  • New Member
  • *
  • Posts: 21
Re: imprimir fotos desde lazReport
« Reply #6 on: June 24, 2018, 02:16:25 am »
Ahora en la tabla employee ligué el campo photo de algunos registros a archivos jpg y otros a archivos png y el reporte funcionó bien, trató las imágenes en el campo 'Picture4' (ese es el nombre que el diseñador le asignó dentro del reporte, y el número 4 supongo que fué porque lo agregué y borré varias veces) tal como si todas vinieran de un mismo tipo. En fin que todo funcionó muy bien. Nuevamente Gracias Mil, estoy al pendiente de sus comentarios.

 

TinyPortal © 2005-2018