eListas Logo
   El sistema de Listas de correo, Boletines y Newsletters más completo de la Red Inicio | Servicios | Publicidad | Compañía 
Inicio > Mis eListas > delphihackers > Mensajes

 Índice de Mensajes 
 Mensajes 1881 al 1885 
AsuntoAutor
Augustine wrote: Augustin
Go my rheumatic Jessica
Anton wrote: Anton Mc
Shane wrote: Shane Sa
Definir tamaño de Efren Br
 << 20 ant. | -- ---- >>
 
Delphi Hackers
Página principal    Mensajes | Enviar Mensaje | Ficheros | Datos | Encuestas | Eventos | Mis Preferencias

Mostrando mensaje 1887     < Anterior | Siguiente >
Responder a este mensaje
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/
--~------------------------------------------------------------------~--


eListas.net:  Página principalÍndice de listasCrear listaListas Destacadas
Tu Cuenta:  Mis eListasMi Información y PreferenciasApuntateAyuda
Servicios:  ServiciosProductosSoluciones ComercialesPublicidad
General:  AyudaNovedadesPrivacidad de datosNo spamEscríbenos

eListas

eListas.net es un servicio de Blabia Inc.
Copyright © 1999-2008 Blabia Inc., Todos los derechos reservados
Términos del Servicio | Privacidad de datos