cambiar impresora

cambiar impresora

Postby surGom » Sat May 14, 2011 12:37 am

Amigos quiero indicar desde programa que me imprima en determinada impresora, y que cuando termine esa impresión vuelva a la que tenía por defecto, estuve viendo mensajes anteriores, pero no encontre o no supe encontrarlo. Les comento como hago para lo primero

SetPrintDefault( "CutePDF Writer" )
PRINT oPrn title "Impuesto" PREVIEW MODAL

DEFINE FONT oFont NAME "tahoma" SIZE 0,9 of oPrn
DEFINE PEN oPen1 WIDTH 1


lo cambia sin problemas, pero no sé con cual función llamar al modelo que tenía por defecto para hacer
SetPrintDefault( modelo )
para luego poder imprimir el pdf que creé en la impresora que tenía predeterminada, en forma automática
Es decir una vez que guarde el pdf hacer
ShellExecute( ,"print", (oApp:dirpdf + cFactura]),,,1 )

Es posible, ya que actualmente tengo predeterminado el cutepdf y después de grabar el archivo, desde el preview cambio por la impresora que necesito imprimir la copia.

Muchas gracias
surGom
 
Posts: 639
Joined: Wed Oct 19, 2005 12:03 pm

Re: cambiar impresora

Postby karinha » Mon May 16, 2011 12:53 pm

Hola,

Intente asi:

oPreview:oDevice:GetModel()
oPrinter:GetModel()

ó

PrnGetName()

Code: Select all  Expand view

   @ 7, 500 SAY ::oPage PROMPT "Imprimir na Impressora: "+PrnGetName() ;
            SIZE 220, 15 PIXEL OF ::oBar FONT ::oFont                        ;
            COLOR CLR_Tomato,CLR_PeachPuff2

 





João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7312
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: cambiar impresora

Postby surGom » Mon May 16, 2011 10:22 pm

Hola karinha lo había resuelto de esta forma pero preguntaba por si había otra manera...
Guardo en un archivo ini las dos impresora que necesito y luego hago la llamada

Code: Select all  Expand view

    SetPrintDefault( alltrim(oApp:imppdf) )            //donde oAPp:imppdf es la impresora cuttewritter

     PRINTER oPrn PREVIEW
     oPrn:cdocument := aElectro:cnombre    
     PAGE

             etc, etc

             
   ENDPRINT
   oPrn:end()                          

   SetPrintDefault( alltrim(oApp:imppre) )              //impresora por defecto en este caso hp laser

   ShellExecute( ,"print", (oApp:dirfac + alltrim(aElectro:cnombre) + ".pdf"),,,1 )
 


La carga del array oApp:imppdf y oApp:imppre la hago con la llamada a la función aGetPrinters() y ya las dejo en el ini

Muchas Gracias y saludos
surGom
 
Posts: 639
Joined: Wed Oct 19, 2005 12:03 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 47 guests