La Web del Programador: Comunidad de Programadores
 
    Pregunta:  54441 - EVITAR EL AVANCE DE PAGINA EN ENDDOC
Autor:  Carlo Cabello
Saludos.
Tengo un Formulario que simula una factura. Todos los elementos del Formulario los envio al objeto Print y al final los imprimo con EndDoc. El problema es que el EndDoc al mismo tiempo que inicia la impresion, tambien hace un salto de pagina haciendo avanzar hasta dos facturas mas. Como puedo hacer para evitar ese salto de pagina y que la impresora avance de tal forma que la siguiente factura(en papel continuo) quede lista para imprimir sin tener que retroceder las hojas. Es en VB6.0 y uso una impresora LX300II. Gracias por la ayuda

  Respuesta:  Carlo Cabello
El asunto es que VB60 en XP simplemente ignora el tamaño de las paginas y solo utiliza los tamaños predeterminados de la Impresora. Tambien pude crear una Pagina personalizada en Propiedades del Servidor, asignando los tamaños adecuados, sin embargo tampoco funciono. Tambien he probado con los codigos de ESC de las Impresoras Epson LX300 pero...el problema es que esta solucion requiere abrir el puerto LPT1 como si de un archivo se trata, dentro del archivo se crea el documento y al cerrar debe imprimir el documento. El problema es que la impresora se conecta por USB ai que al crear un OPEN USB0001...etc solo crea un archivo de nombre "USB0001" en disco. Espero que puedan ayudarme. Gracias

  Respuesta:  Agustín Dávila
Ese error me parece que te sucede porque al imprimir excedes el alto de la página. Cuando dices que utilizas el objeto "Print" te refieres al objeto "Printer"?
Si es así, lo tienes fácil porque con el objeto printer puedes saber el alto de la página (printer.scaleheight).

Poner los datos en coordenadas de la página:
printer.currentx ' coordenada X1
printer.currenty ' coordenada Y1

Crear una nueva página:
printer.newpage

Finalizar un documento:
printer.endoc

etc...