In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Imprimir sin Preview

Foro de Xailer profesional en español
Responder
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Imprimir sin Preview

Mensaje por Xevi »

¿Cómo hago para imprimir sin visualizar el Preview???
Printer:nOrientation := DMORIENT_PORTRAIT
Printer:StartDoc()
Printer:oCanvas:nMapMode := mmHIMETRICS
Printer:StartPage()
Printer:oCanvas:TextRect( { 100, 100, 500, 150 }, "Texto de Prueba" )
Printer:EndPage()
Printer:EndDoc()
Printer:Run()
Esto lanza el diálogo de Windows imprimir, pero le damos a Aceptar y no imprime.
Sin embargo, si utilizamos el Preview, se visualiza perfectamente el texto a imprimir.
Pulsamos en el botón imprimir del Preview, y SI se imprime el documento.
Printer:lPreviewModal := .T.
Printer:nPreviewShowMode := smMAXIMIZE
Printer:nOrientation := DMORIENT_PORTRAIT
Printer:StartDoc()
Printer:oCanvas:nMapMode := mmHIMETRICS
Printer:StartPage()
Printer:oCanvas:TextRect( { 100, 100, 500, 150 }, "Texto de Prueba" )
Printer:EndPage()
Printer:EndDoc()
Printer:Preview()
¿Que me falta???
¿Que hago mal???
¿Es un error de TPrinter???
Gracias.
Un Saludo,
Xevi.
--
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9447
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Imprimir sin Preview

Mensaje por ignacio »

Xevi,
Es posible que tengas Printer:lPreview a verdadero, entonces no se imprime nada, ya que espera a que se llame a Printer:Preview(). Te recomiendo que siempre hagas por si acaso:
Printer:lPreview := .f.
El printer:run() no tiene ningún sentido ahí­. Este método es equivalente a un Printer:StarDoc() configurado por el usuario:
if Printer:Run()
Printer:nOrientation := DMORIENT_PORTRAIT
Printer:oCanvas:nMapMode := mmHIMETRICS
Printer:StartPage()
Printer:oCanvas:TextRect( { 100, 100, 500, 150 }, "Texto de Prueba" )
Printer:EndPage()
Printer:EndDoc()
Endif
Saludos
"Xevi" <xevicomas@terra.es> escribió en el mensaje news:43317c6d$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
¿Cómo hago para imprimir sin visualizar el Preview???
Printer:nOrientation := DMORIENT_PORTRAIT
Printer:StartDoc()
Printer:oCanvas:nMapMode := mmHIMETRICS
Printer:StartPage()
Printer:oCanvas:TextRect( { 100, 100, 500, 150 }, "Texto de Prueba" )
Printer:EndPage()
Printer:EndDoc()
Printer:Run()
Esto lanza el diálogo de Windows imprimir, pero le damos a Aceptar y no imprime.
Sin embargo, si utilizamos el Preview, se visualiza perfectamente el texto a imprimir.
Pulsamos en el botón imprimir del Preview, y SI se imprime el documento.
Printer:lPreviewModal := .T.
Printer:nPreviewShowMode := smMAXIMIZE
Printer:nOrientation := DMORIENT_PORTRAIT
Printer:StartDoc()
Printer:oCanvas:nMapMode := mmHIMETRICS
Printer:StartPage()
Printer:oCanvas:TextRect( { 100, 100, 500, 150 }, "Texto de Prueba" )
Printer:EndPage()
Printer:EndDoc()
Printer:Preview()
¿Que me falta???
¿Que hago mal???
¿Es un error de TPrinter???
Gracias.
Un Saludo,
Xevi.
--
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Imprimir sin Preview

Mensaje por Xevi »

Ignacio
El Printer:Run() lo he puesto porque creí­a que era el evento que "lanzaba" el documento a la impresora.
Hecho en falta Printer:Print(), pues no encuentro como "abortar la impresión, cuando tengo un documento confeccionado.
Por lo que puedo entender, Printer:EndDoc() es el encargado de "lanzarlo" a la impresora seleccionada con Printer:Run().
Claro, primero seleccionamos la impresora, luego contruimos el documento, y se visualiza/imprime.
¿Puedo eliminar este documento antes de imprimirlo??? ¿algun Printer:DelDoc()???
Si no termino el documento con EndDoc(), ¿Queda en cola de Printer y cuando haga StartDoc() saldrá impreso???
Gracias.
Un Saludo,
Xevi.
"Ignacio Ortiz de Zúñiga" <InvalidAccount@ozs.com> escribió en el mensaje news:43319545$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
Xevi,
Es posible que tengas Printer:lPreview a verdadero, entonces no se imprime nada, ya que espera a que se llame a Printer:Preview(). Te recomiendo que siempre hagas por si acaso:
Printer:lPreview := .f.
El printer:run() no tiene ningún sentido ahí­. Este método es equivalente a un Printer:StarDoc() configurado por el usuario:
if Printer:Run()
Printer:nOrientation := DMORIENT_PORTRAIT
Printer:oCanvas:nMapMode := mmHIMETRICS
Printer:StartPage()
Printer:oCanvas:TextRect( { 100, 100, 500, 150 }, "Texto de Prueba" )
Printer:EndPage()
Printer:EndDoc()
Endif
Saludos
"Xevi" <xevicomas@terra.es> escribió en el mensaje news:43317c6d$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
¿Cómo hago para imprimir sin visualizar el Preview???
Printer:nOrientation := DMORIENT_PORTRAIT
Printer:StartDoc()
Printer:oCanvas:nMapMode := mmHIMETRICS
Printer:StartPage()
Printer:oCanvas:TextRect( { 100, 100, 500, 150 }, "Texto de Prueba" )
Printer:EndPage()
Printer:EndDoc()
Printer:Run()
Esto lanza el diálogo de Windows imprimir, pero le damos a Aceptar y no imprime.
Sin embargo, si utilizamos el Preview, se visualiza perfectamente el texto a imprimir.
Pulsamos en el botón imprimir del Preview, y SI se imprime el documento.
Printer:lPreviewModal := .T.
Printer:nPreviewShowMode := smMAXIMIZE
Printer:nOrientation := DMORIENT_PORTRAIT
Printer:StartDoc()
Printer:oCanvas:nMapMode := mmHIMETRICS
Printer:StartPage()
Printer:oCanvas:TextRect( { 100, 100, 500, 150 }, "Texto de Prueba" )
Printer:EndPage()
Printer:EndDoc()
Printer:Preview()
¿Que me falta???
¿Que hago mal???
¿Es un error de TPrinter???
Gracias.
Un Saludo,
Xevi.
--
Guest

Imprimir sin Preview

Mensaje por Guest »

Xevi,
Compruebo que efectivamente está fatalmente documentado el metodo Run(). Este método permite establecer un comienzo de documento con la impresora y estado que eliga el usuario. Devuelve verdadero si el usuario salió con el botón de Aceptar.
Para abortar un docmento tienes el método AbortDoc().
Si no se llama a EndDoc() el documento saldrá impreso cuando se cree un nuevo documento, o se termine la aplicación.
Un saludo,
"Xevi" <xevicomas@terra.es> escribió en el mensaje news:[email=4331a473@ozsrvnegro.ozlan.local...]4331a473@ozsrvnegro.ozlan.local...[/email]
Ignacio
El Printer:Run() lo he puesto porque creí­a que era el evento que "lanzaba" el documento a la impresora.
Hecho en falta Printer:Print(), pues no encuentro como "abortar la impresión, cuando tengo un documento confeccionado.
Por lo que puedo entender, Printer:EndDoc() es el encargado de "lanzarlo" a la impresora seleccionada con Printer:Run().
Claro, primero seleccionamos la impresora, luego contruimos el documento, y se visualiza/imprime.
¿Puedo eliminar este documento antes de imprimirlo??? ¿algun Printer:DelDoc()???
Si no termino el documento con EndDoc(), ¿Queda en cola de Printer y cuando haga StartDoc() saldrá impreso???
Gracias.
Un Saludo,
Xevi.
"Ignacio Ortiz de Zúñiga" <InvalidAccount@ozs.com> escribió en el mensaje news:43319545$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
Xevi,
Es posible que tengas Printer:lPreview a verdadero, entonces no se imprime nada, ya que espera a que se llame a Printer:Preview(). Te recomiendo que siempre hagas por si acaso:
Printer:lPreview := .f.
El printer:run() no tiene ningún sentido ahí­. Este método es equivalente a un Printer:StarDoc() configurado por el usuario:
if Printer:Run()
Printer:nOrientation := DMORIENT_PORTRAIT
Printer:oCanvas:nMapMode := mmHIMETRICS
Printer:StartPage()
Printer:oCanvas:TextRect( { 100, 100, 500, 150 }, "Texto de Prueba" )
Printer:EndPage()
Printer:EndDoc()
Endif
Saludos
"Xevi" <xevicomas@terra.es> escribió en el mensaje news:43317c6d$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
¿Cómo hago para imprimir sin visualizar el Preview???
Printer:nOrientation := DMORIENT_PORTRAIT
Printer:StartDoc()
Printer:oCanvas:nMapMode := mmHIMETRICS
Printer:StartPage()
Printer:oCanvas:TextRect( { 100, 100, 500, 150 }, "Texto de Prueba" )
Printer:EndPage()
Printer:EndDoc()
Printer:Run()
Esto lanza el diálogo de Windows imprimir, pero le damos a Aceptar y no imprime.
Sin embargo, si utilizamos el Preview, se visualiza perfectamente el texto a imprimir.
Pulsamos en el botón imprimir del Preview, y SI se imprime el documento.
Printer:lPreviewModal := .T.
Printer:nPreviewShowMode := smMAXIMIZE
Printer:nOrientation := DMORIENT_PORTRAIT
Printer:StartDoc()
Printer:oCanvas:nMapMode := mmHIMETRICS
Printer:StartPage()
Printer:oCanvas:TextRect( { 100, 100, 500, 150 }, "Texto de Prueba" )
Printer:EndPage()
Printer:EndDoc()
Printer:Preview()
¿Que me falta???
¿Que hago mal???
¿Es un error de TPrinter???
Gracias.
Un Saludo,
Xevi.
--
Responder