FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour cambiar impresora
Posts: 652
Joined: Wed Oct 19, 2005 12:03 PM
cambiar impresora
Posted: 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

Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: cambiar impresora
Posted: Mon May 16, 2011 12:53 PM
Hola,

Intente asi:

oPreview:GetModel()
oPrinter:GetModel()

ó

PrnGetName()

Code (fw): Select all Collapse
   @ 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
Posts: 652
Joined: Wed Oct 19, 2005 12:03 PM
Re: cambiar impresora
Posted: 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 (fw): Select all Collapse
    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

Continue the discussion