| Asunto: | Definir tamaño de papel en la impresora | | Fecha: | Lunes, 12 de Febrero, 2007 21:54:24 (+0100) | | Autor: | Efren Bravo <efrenba @.....es>
|
Hola,
He tratado de definir un tamaño de papel de
210x152cms pero no hay forma de que funcione
correctamente en las impresoras (EPSON FX-890, HP
LaserJet 1320, HP LaserJet 1200 y EPSON FX-1180).
El código es:
var
fDevice: PChar;
fDriver: PChar;
fPort: PChar;
fDeviceModeHandle: THandle;
fDevMode: PDevMode;
begin
fPixelsPerInchX :=GetDeviceCaps(Printer.Handle,
LOGPIXELSX);
fPixelsPerInchY :=GetDeviceCaps(Printer.Handle,
LOGPIXELSY);
GetMem(fDevice, 1024);
GetMem(fDriver, 1024);
GetMem(fPort, 1024);
Printer.GetPrinter(fDevice, fDriver, fPort,
fDeviceModeHandle);
try
fDevMode :=GlobalLock(fDeviceModeHandle);
fDevMode^.dmFields :=fDevMode^.dmFields or
DM_PAPERWIDTH;
fDevMode^.dmPaperWidth :=210 *10;
fDevMode^.dmFields :=fDevMode^.dmFields or
DM_PAPERLENGTH;
fDevMode^.dmPaperLength :=152 *10;
fDevMode^.dmFields :=fDevMode^.dmFields or
DM_PAPERSIZE;
fDevMode^.dmPaperSize :=0;
finally
Printer.SetPrinter(fDevice, fDriver, fPort,
fDeviceModeHandle);
GlobalUnlock(fDeviceModeHandle);
end;
Printer.BeginDoc;
Printer.Canvas.TextOut(0, 0, 'PRUEBA');
Printer.EndDoc;
end;
De la forma q está el código los márgenes en
todas menos la FX-890 aumentan considerablemente,
incluso llega a ser de 3cms en la HP 1320.
Si le comento las líneas referentes al
DM_PAPERWIDTH los márgenes quedan perfectamente,
es decir, la impresión comienza en cada impresora
donde acaba el área no imprimible(gutter) pero no
hace el salto de página a los 152cms, sino como
un formato CARTA, q es el q está predefinido.
He probado definiendo un formato nuevo con
addform y asignarlo sin resultados tampoco.
Necesito alguna sugerencia para darle solución al
problema..
Gracias de antemano.
Efren Bravo.
-----
Fight back spam! Download the Blue Frog.
http://www.bluesecurity.com/register/s?user=ZWZyZW5iYQ%3D%3D
______________________________________________
LLama Gratis a cualquier PC del Mundo.
Llamadas a fijos y móviles desde 1 céntimo por minuto.
http://es.voice.yahoo.com
-~--------------------------------------------------------------------~-
Consultas recomendadas:
* Cartuchos de tinta para impresoras: http://egrupos.net/hs/118
* Cursos de electrónica: http://egrupos.net/hs/136
* Cargadores de baterías: http://egrupos.net/hs/15
-~--------------------------------------------------------------------~-
-~--------------------------------------------------------------------~-
CREA GRATIS TU PROPIA RED SOCIAL DE CONTENIDOS
O participa en las muchas ya creadas. ¡Es lo último, es útil y divertido!
¿A qué esperas? Visita ya mismo http://es.corank.com/
--~------------------------------------------------------------------~--
|