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-07-2010
EGMM EGMM is offline
Registrado
 
Registrado: jul 2010
Posts: 5
Poder: 0
EGMM Va por buen camino
No se imprimen algunas imágenes

Hola:

Tengo un sistema desarrollado en Delphi 5 que está instalado en muchos clientes. Con ese sistema se imprimen muchos formularios. Algunos de ellos tienen 2 o 3 imágenes. Lo que me pasa es que eso anda casi siempre bien pero cada tanto, hay alguna imagen que no se imprime. Es decir que se imprime todo el formulario (texto, recuadros, etc.) y todas las imágenes menos una. Quizás 100 veces anda todo bien y al imprimir el formulario 101 pasa esto, aunque claro que la frecuencia no es constante.

Cuando esto pasa, el usuario simplemente reimprime el formulario (que un minuto antes salió con una imagen menos) y se imprime bien con todas las imágenes.

La impresión se hace usando TPrinter, las imágenes son archivos (JPG o BMP) que se leen en un TImage y se copian al TPrinter.canvas usando StretchDraw.

Esto pasa en más de un cliente (pero no en todos) con diferentes imágenes y diferentes impresoras.

¿Alguna idea de cuál puede ser la causa (y la solución) del problema?
Responder Con Cita
  #2  
Antiguo 03-08-2010
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Arrow

No sé si te pueda servir hacer un refrescamiento antes de mandar a imprimir:
Código Delphi [-]
...
Printer.Canvas.Refresh;//<--
...
Pruébalo...
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #3  
Antiguo 13-08-2010
EGMM EGMM is offline
Registrado
 
Registrado: jul 2010
Posts: 5
Poder: 0
EGMM Va por buen camino
Muchas gracias por tu sugerencia. La voy a probar a ver si funciona.

Saludos
Responder Con Cita
  #4  
Antiguo 18-08-2010
cfernan cfernan is offline
Registrado
 
Registrado: jul 2010
Posts: 4
Poder: 0
cfernan Va por buen camino
PrintBitMap

A mi me ha pasado, y no se sabe cuándo pasa. Según lo que vi, yo uso imágenes BitMap y para imprimir uso Draw. Según la ayuda de Delphi, para imprimir BitMap se debe usar PrinBitMap. En eso estoy.
Responder Con Cita
  #5  
Antiguo 18-08-2010
cfernan cfernan is offline
Registrado
 
Registrado: jul 2010
Posts: 4
Poder: 0
cfernan Va por buen camino
Mira esto la página scalabium.com/faq/dct0090.htm
Responder Con Cita
  #6  
Antiguo 21-08-2010
EGMM EGMM is offline
Registrado
 
Registrado: jul 2010
Posts: 5
Poder: 0
EGMM Va por buen camino
Cita:
Empezado por cfernan Ver Mensaje
A mi me ha pasado, y no se sabe cuándo pasa. Según lo que vi, yo uso imágenes BitMap y para imprimir uso Draw. Según la ayuda de Delphi, para imprimir BitMap se debe usar PrinBitMap. En eso estoy.
Yo tengo Delphi 5 y en mi ayuda no está PrintBitMap. ¿Vos qué versión de Delphi tenés?

¿Es un procedure, un método de TPrinter, una función de la API...?
Responder Con Cita
  #7  
Antiguo 21-08-2010
EGMM EGMM is offline
Registrado
 
Registrado: jul 2010
Posts: 5
Poder: 0
EGMM Va por buen camino
Cita:
Empezado por cfernan Ver Mensaje
Mira esto la página scalabium.com/faq/dct0090.htm
Ese mismo método para imprimir está en los siguientes links:

w ww.howtodothings.com/computers/a1102-stretchdraw-an-image-to-a-printer-canvas.html

coding.derkeiler.com/Archive/Delphi/borland.public.delphi.language.objectpascal/2004-01/0338.html

De todos modos ya lo probé y pasa lo mismo, así que lamentablemente esto no soluciona el problema.
Responder Con Cita
  #8  
Antiguo 22-08-2010
cfernan cfernan is offline
Registrado
 
Registrado: jul 2010
Posts: 4
Poder: 0
cfernan Va por buen camino
Esta es la solución

Mira la página scalabium.com/faq/dct0090.htm

Aquí dice cómo hacerlo. Lo probé y funciona OK.
Responder Con Cita
  #9  
Antiguo 24-08-2010
EGMM EGMM is offline
Registrado
 
Registrado: jul 2010
Posts: 5
Poder: 0
EGMM Va por buen camino
A mí no me funciona

Cita:
Empezado por cfernan Ver Mensaje
Mira la página scalabium.com/faq/dct0090.htm

Aquí dice cómo hacerlo. Lo probé y funciona OK.
Me sorprende que digas que es la solución. Yo eso también lo probé y el problema sigue igual. La mayoría de las imágenes se imprime pero de tanto en tanto, alguna imagen no se imprime.

Ojo que a veces pasan varios días seguidos en los que se imprimen todas las imágenes y de repente un día alguna no se imprime.
Responder Con Cita
  #10  
Antiguo 25-08-2010
Jab Jab is offline
Miembro
 
Registrado: feb 2008
Posts: 83
Poder: 0
Jab cantidad desconocida en este momento
Hola, a mi esto me pasaba en alguna ocasión y sigue pasándome en un programa, en otro no, como más adelante comento. Por lo que pude observar, se debe a un problema de gestión de memoria entre el SO y la impresora. En un caso, la imagen con el report ocupa memoria mientras se está previsualizando, a veces esta memoria no se gestiona bien y no carga correctamente el dato del bitmap, dando error interno pero sigue continuando el proceso de previsualización, otras daba "metafile is not valid", cuando es la misma imagen en todas las hojas del informe... => memoria. El objeto usado para realizar el informe era el quickreport 3.0.5

Este caso lo solucioné haciendo que el usuario no imprimiera la imagen si así lo deseaba.

En tu caso concreto, dado que lanzas directamente la impresión en el canvas, puedes comprobar la memoria RAM que tienen las impresoras que están realizando la impresión. Prueba a cambiar la configuración de las mismas en "imprimir directamente en impresora", sin usar la cola, es posible que el flujo de datos deje más libertad y pueda cargar la imagen en un momento dado.

Por regla general, las impresoras disponen de una cantidad de MB limitado para controlar el flujo de información y procesarlo. A veces, el flujo no es suficiente para controlar datos, si esa imagen es el último dato en ser enviado, y no cabe, la impresora toma la medida de "mejor imprimir poco que no imprimir nada", e imprime. En otras impresoras darán errores, previamente al S.O. o durante la impresión en su visor LED si lo tuviera, etc.

Otra opción que se me ocurre para saber si esto es así es que pruebes con imágenes pesadas a lanzarlas directamente en impresión en el canvas, observarás que más de una vez, la impresora no imprime todo lo que se le manda. Yo lo tengo comprobado en una aplicación que generaba carteles. Estos carteles se imprimían casi siempre bien, pero cuando el cartel tenía imágenes pesadas a veces no salía el fondo, o no aparecía alguna de las imágenes. Como solución, al usar el freereport, en esta herramientas, cambiamos la imagen de fondo eliminándola y usando los objetos propios del report, además de pedirle al usuario que cuando cargara las imágenes en la base de datos, procediera a redimensionarlas a 1024x768. El problema se solucionó y hasta ahora (ha pasado más de 1 año) los carteles salen todos sin este problema.

Espero que esto te ayude.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Algunas imagenes para reirse un poco... movorack Humor 0 21-06-2010 17:52:36
QuickReport no imprime algunas imagenes dante05 Impresión 1 12-04-2008 17:45:02
qrshapes no se imprimen pjjorda Impresión 1 15-05-2006 12:10:38
No se imprimen las imágenes salvanano Impresión 1 29-04-2006 00:01:02
como usar algunas imagenes en botones 1 sola vez Patricio Varios 4 25-11-2005 16:11:36


La franja horaria es GMT +2. Ahora son las 12:57:02.


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