Como ajustar impresión por cambio en tamaño del papel
Posted: Wed Apr 29, 2015 3:07 pm
Mi Gente... Buen Día...
Hace años desarrolle una aplicación que imprime, por medio de la clase tPrinter, una serie de formularios (diseño gubernamental) en papel Legal (8.5" x 14"... acá lo llamamos "extra-oficio")...
hace poco menos de una semana la dependencia gubernamental en cuestion emitió una circular donde manda a que todos esos formularios se impriman ahora en un tamaño de papel de 8.5" x 13" (acá lo llamamos "oficio")...
Como podrán ver, debo escalar verticalmente la impresión de los formularios para que se impriman completos en un papel que es 2.5cm mas corto...
Ya le añadí a Windows un papel de 8.5" x 13" (Panel de Control ==> Herramientas Administrativas ==> Administrador de Impresión ==> Servidores de Impresion ==> [Equipo] ==> Formularios)
Como hago para saber que constante aplicar al método :SetPage() para indicarle ese tamaño de papel, tomando en cuenta que al ser un tamaño definido por el usuario, puede que en distintos PC's esa constante puede tener diferentes valores...
Ej...
#define DMPAPER_LETTER 1 // Letter 8 1/2 x 11 in
...
#define DMPAPER_LEGAL 5 // Legal 8 1/2 x 14 in
...
#define DMPAPER_OFICIO ???? // 8 1/2 x 13 in
He probado el método :SetSize( nWidth, nHeight ) de la clase tPrinter... pero he estado tirando flechas porque no he encontrado documentación que me diga en que unidades pasan nWidth y nHeight... a duras penas logre que escalara de Legal (8.5" x 14") a Letter (Carta 8.5" x 11")... pero no logro otras medidas por mucho que cambie los valores de nWidth y nHeight...
Agradecido de antemano por la ayuda y/o sugerencias que me puedan dar...
Giancarlo Sabattino
Valencia - Venezuela
FW13.12+xH1.2001+BCC5.51
Hace años desarrolle una aplicación que imprime, por medio de la clase tPrinter, una serie de formularios (diseño gubernamental) en papel Legal (8.5" x 14"... acá lo llamamos "extra-oficio")...
hace poco menos de una semana la dependencia gubernamental en cuestion emitió una circular donde manda a que todos esos formularios se impriman ahora en un tamaño de papel de 8.5" x 13" (acá lo llamamos "oficio")...
Como podrán ver, debo escalar verticalmente la impresión de los formularios para que se impriman completos en un papel que es 2.5cm mas corto...
Ya le añadí a Windows un papel de 8.5" x 13" (Panel de Control ==> Herramientas Administrativas ==> Administrador de Impresión ==> Servidores de Impresion ==> [Equipo] ==> Formularios)
Como hago para saber que constante aplicar al método :SetPage() para indicarle ese tamaño de papel, tomando en cuenta que al ser un tamaño definido por el usuario, puede que en distintos PC's esa constante puede tener diferentes valores...
Ej...
#define DMPAPER_LETTER 1 // Letter 8 1/2 x 11 in
...
#define DMPAPER_LEGAL 5 // Legal 8 1/2 x 14 in
...
#define DMPAPER_OFICIO ???? // 8 1/2 x 13 in
He probado el método :SetSize( nWidth, nHeight ) de la clase tPrinter... pero he estado tirando flechas porque no he encontrado documentación que me diga en que unidades pasan nWidth y nHeight... a duras penas logre que escalara de Legal (8.5" x 14") a Letter (Carta 8.5" x 11")... pero no logro otras medidas por mucho que cambie los valores de nWidth y nHeight...
Agradecido de antemano por la ayuda y/o sugerencias que me puedan dar...
Giancarlo Sabattino
Valencia - Venezuela
FW13.12+xH1.2001+BCC5.51