Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Elegir Impresora (https://www.clubdelphi.com/foros/showthread.php?t=25536)

Antuan 26-09-2005 16:01:16

Elegir Impresora
 
Como siempre sigo novato.
Tengo instaladas en Windows dos Impresoras una fisica y otra virtual. En Windows tengo seleccionada como predeterminada la fisica. Asi que si desde un boton Imprimir en un form de Delphi mando imprimir un documento.
Lo imprime sin problema.
Mi pregunta es la siguiente:
¿Hay alguna funcion o conocen la forma de enviar un documento a la impresora virtual sin tener que elegirla en Windows o dejarla como predeterminada?
Muchas gracias.
PD:
La virtual es la Adobe Write.

Neftali [Germán.Estévez] 26-09-2005 16:10:07

Puedes cambiar la impresora predeterminada, enviar el documento y volver a colocar la que había por defecto.

...get / set the default printer?

http://www.swissdelphicenter.ch/torr...ode.php?id=660

(incluso tienes un ejemplo hecho en Delphi)

Antuan 26-09-2005 16:15:15

Eso es lo que hacia
 
Eso es lo que hago pero mi idea es poner dos botones uno para la fisica y otro para la virtual.
Directamente desde delphi sin tener que pasar por la parte de configurar impresora.

Neftali [Germán.Estévez] 26-09-2005 16:32:21

Me refería a que lo puedes hacer todo desde Delphi, sin intervención del usuario, sin pasar por la pantalla de configuración de impresora (todo por código), por lo tanto en cada uno de los botones deberás hacer:

(1) "Cambiar la impresora" por defecto.
(2) Enviar
(3) Restaurar la impresora por defecto

Antuan 26-09-2005 16:51:10

Ya entendi
 
En el boton de la virtual pongo la el procedure del ejemplo que me has dado.
SetDefaultPrinter('Adobe PDF') y le mando imprimir en documento.
Supongo que este procedure actua con el nombre que esta decladado en Panel de Control / Impresoras. las impreoras.
De este modo evito los pasos de seleccionar la predeterminada.
Voy a probar a ver si funciona
Muchas gracias.

Neftali [Germán.Estévez] 26-09-2005 17:13:03

Descarga el ejemplo que hay en ese link:
http://www.swissdelphicenter.ch/tor...code.php?id=660

y podrás ver cómo se usa.

rastafarey 27-09-2005 15:28:28

Resp
 
Mira si no quiere pasar por el spool de windows las cosas son mas largas ya qe debes leer la lista d eimpresoras(desde el registro y para compatbilidad con todos los windows desde win.ini) pero hay debes leer el puerto de cada una el formato el nombre luego abrirla enviar el documento con el formato d ecodigo si es que los posee.

Mira es un poco largo asi que te recomiendo que dejes que lo maneje el spool a menos que tengas que hacer un reporte tipo texto(o reporte en matris o reporte rapido) para lo cual te recomiendo usar lo que existe. Puedes usar fast report que te hae los dos tipos d reportes sin dolor de cabezas


La franja horaria es GMT +2. Ahora son las 16:50:40.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi