PDA

Ver la Versión Completa : Como Llevar la Impresion (TPrinter) a una Imagen


ggram2
31-05-2012, 03:34:02
Amigos del Foro reciban un cordial saludo

Hoy quisiera si es posible me ayuden en la siguiente Inquietud. Al imprimir unos formatos o documentos Utilizo lo siguiente;
Printers.Printer.BeginDoc;
//Linas de impresion del documento
Printers.Printer.EndDoc;

como hiciera para que esta impresion la pueda llevar a una imagen o algo parecido para poder hacer una visualizacion a pantalla

Muchas Gracias de antemano

Casimiro Notevi
31-05-2012, 09:44:09
Falta mucha información para poder ayudarte, no sabemos qué generador de impresión estás usando, y no se entiende qué quieres hacer :confused:

Por cierto, recuerda poner los tags al código fuente, ejemplo:

http://neftali.clubdelphi.com/images/UtilizarTAGs.png

Gracias :)

ggram2
31-05-2012, 20:36:58
Gracias por responder.
El generador de impresion es la unidad TPrinter

este es un ejmplo:

Printers.Printer.BeginDoc;
Printers.Printer.Canvas.Rectangle (200,200, 3000, 3200);
Printers.Printer.Canvas.TextOut (300, 300, 'OPCIONES DE AYUDA')
Printers.Printer.EndDoc;

Casimiro Notevi
31-05-2012, 20:42:49
Pero no entiendo lo que quieres hacer, ¿imprimir una imagen?

ggram2
31-05-2012, 22:41:47
Bueno
lo que se quiere hacer es :

cuando se imprime un documento como una factura, recibos de caja o cualquier otro documento,
con estos objetos TPrinter directamene los graficos como logos no son tan facil de ubicar en una area y
por lo general se configura segun la matriz grafica de impresora

entonces lo que se quiere es dejar una copia imagen del documento impreso para posteriores reimpresiones o consultas

hacerlo con Impresoras PDF no es exactamente igual al formato impreso como original si tiene imagenes (BMP, JPG, etc) en el docuemnto.

si se logra guardar el Printer.Canvas como una imagen o cualquier otro tipo archivo que despues pueda ser recuperado
solucionaria el problema

como en un aplicativo hay muchos formatos de documentos y segun el diseño del cliente toca personalizarlos
no es viable hacerlo desde programacion como Quickreport, etc.
porque cada cambio implica recompilar algo, entoces se usa este tipo de impresion que permite una mayor o mejor parametrizacion.

Casimiro Notevi
31-05-2012, 23:47:14
No recuerdo haber usado TPrinter de esa forma, a ver si algún compañero lo sabe y puede echarte una mano con ese asunto.

ggram2
01-06-2012, 01:25:50
Aqui encontre un Link donde lo hacen
es Opcion Nro 8 pero no se implementarlo para Delphi2006 o Delphi2010

http://roberdi.galeon.com/PagDelphi-Articulos.htm#7

Casimiro Notevi
01-06-2012, 02:39:06
Pero me ha parecido leer que lo que hacen ahí es sustituir tprinter, ¿es eso lo que quieres?

ggram2
01-06-2012, 03:03:51
Si esa es una opcion donde el TPrinter le implementan la parte de visualizar y crean un TWMFPrinter
y esa opcion estaria muy bien

Casimiro Notevi
01-06-2012, 08:07:24
Pues bien, tendrás que seguir los pasos que explican en ese documento. Ya nos contarás.

newtron
02-06-2012, 12:07:24
Hola.

En nuestra aplicación hacemos algo parecido a lo que quieres conseguir creando un TImage en un formulario y creando un canvas propio asignado a esa imagen con lo cual lo que imprimas en el canvas se reflejará en ella.


procedure TForm1.Button1Click(Sender: TObject);
var
MiCanvas: TCanvas;
begin
MiCanvas := Image1.Canvas;
MiCanvas.Textout(10,10,'Hola mundo')
end;


cuando crees el canvas lo puedes hacer asignado a la impresora o a la imagen con lo que te aparecerá por un lado u otro sin cambiar el código de impresión.

Saludos