Establecer impresora predeterminada
-
- Posts: 23
- Joined: Sun Mar 24, 2013 3:25 pm
Establecer impresora predeterminada
Estimados amigos:
Como hago para poner una impresora predeterminada al inicio del programa y dejar la anterior al salir.
Intento poner una impresora PDF al incio del programa, ya que imprimir a una no lo hace.
Print oPrn Name "Algo"To "PDFCreator" ....> no me funciona
Muchas gracias. Saludos.
Como hago para poner una impresora predeterminada al inicio del programa y dejar la anterior al salir.
Intento poner una impresora PDF al incio del programa, ya que imprimir a una no lo hace.
Print oPrn Name "Algo"To "PDFCreator" ....> no me funciona
Muchas gracias. Saludos.
Gracias, Saludos.
Ruben Dario Fernandez
FWH 14.02 Borland, Harbour.
SublimeText.
Ruben Dario Fernandez
FWH 14.02 Borland, Harbour.
SublimeText.
- informaticaeloy
- Posts: 118
- Joined: Fri Dec 20, 2013 10:39 am
- Location: Zaragoza, España
- Contact:
Re: Establecer impresora predeterminada
Yo también empecé a intentar algo así, y al final he optado por poner en todas mis impresiones:
y así con el "from user" puedes seleccionar justo antes de imprimir donde lo quieres hacer.
Un saludo.
Code: Select all | Expand
PRINT OPRN NAME "Factura " from user
if Empty(oPrn:hDC)
MsgStop("La impresora no está lista o impresión cancelada","Error !!!")
select 1
return nil
endif
y así con el "from user" puedes seleccionar justo antes de imprimir donde lo quieres hacer.
Un saludo.
Windows 10 + FWH 20.08 + BCC 7.4 + Harbour 3.2.0 + PSPad 5.0.3
- MarioG
- Posts: 1380
- Joined: Fri Oct 14, 2005 1:28 pm
- Location: Resistencia - Chaco - AR
- Been thanked: 2 times
Re: Establecer impresora predeterminada
Ruben;
Si compilas con xHarbour, tenes las siguientes funciones (ignoro si las trae Harbour, aunque supongo que si):
GetPrinters() - retorna un array de las impresoras disponibles, o la funcion FW:
aGetPrinters()
tambien dispones de (xHarbour):
GetDefaultPrinter() (para retener el nombre al inicio de tu app)
luego, con ello podés establecer la impresora por defecto mediante la funcion de FW
Repitiendo el proceso al finalizar tu programa con la que te devolvio la impresora por defecto
Si compilas con xHarbour, tenes las siguientes funciones (ignoro si las trae Harbour, aunque supongo que si):
GetPrinters() - retorna un array de las impresoras disponibles, o la funcion FW:
aGetPrinters()
tambien dispones de (xHarbour):
GetDefaultPrinter() (para retener el nombre al inicio de tu app)
luego, con ello podés establecer la impresora por defecto mediante la funcion de FW
SetPrintDefault()
Sets the specified printer as the default printer.
Syntax:
SetPrintDefault( <cModel> ) --> nil
Parameters:
<cModel> The name of the new default printer.
Returns:
Nil
Source Code:
SOURCE\CLASSES\PRINTER.PRG
Repitiendo el proceso al finalizar tu programa con la que te devolvio la impresora por defecto
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
Chaco - Argentina
-
- Posts: 23
- Joined: Sun Mar 24, 2013 3:25 pm
Re: Establecer impresora predeterminada
Gracias Mario:
He intentado de todas formas.
Compilo con Harbour y aGetprinters funciona, pero cuando quiero dejar esa impresora como predeterminada, no lo hace.
Seguiré buscando, gracias.
He intentado de todas formas.
Compilo con Harbour y aGetprinters funciona, pero cuando quiero dejar esa impresora como predeterminada, no lo hace.
Seguiré buscando, gracias.
Gracias, Saludos.
Ruben Dario Fernandez
FWH 14.02 Borland, Harbour.
SublimeText.
Ruben Dario Fernandez
FWH 14.02 Borland, Harbour.
SublimeText.
Re: Establecer impresora predeterminada
Hola RDFernandez:
En vez de hacer predeterminada la impresora lo que puedes hacer es imprimir en la impresora que quieres siempre.
Por ejemplo si utilizas la clase PRINT:
PRINT oPrn TO zImpLis2
En donde zimplis2 es una variable pública con el nombre de la impresora sin blancos ni al principio ni al final.
Un saludo
Carlos
En vez de hacer predeterminada la impresora lo que puedes hacer es imprimir en la impresora que quieres siempre.
Por ejemplo si utilizas la clase PRINT:
PRINT oPrn TO zImpLis2
En donde zimplis2 es una variable pública con el nombre de la impresora sin blancos ni al principio ni al final.
Un saludo
Carlos
Colt Hop ED, S.L.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es
Nunca se termina de aprender, por eso necesito siempre ayuda.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es
Nunca se termina de aprender, por eso necesito siempre ayuda.
Re: Establecer impresora predeterminada
Hola no había leído del todo tu post.
Yo básicamente lo que hago es lo que te he puesto antes y funciona si le quero poner nombre al listado es cuando hago un PREVIEW y lo hago así en vez de con NAME:
PRINT oPrn PREVIEW TITLE "Nombre Listado" TO zImpLis2
zimplis2 lo saco de hacer un selección de todas las impresoras instaladas con "zImpr = aGetPrinters()" y lo presento para que la elija.
Espero que te ayude a mi si me funciona desde hace mucho.
Un saludo
Carlos
Yo básicamente lo que hago es lo que te he puesto antes y funciona si le quero poner nombre al listado es cuando hago un PREVIEW y lo hago así en vez de con NAME:
PRINT oPrn PREVIEW TITLE "Nombre Listado" TO zImpLis2
zimplis2 lo saco de hacer un selección de todas las impresoras instaladas con "zImpr = aGetPrinters()" y lo presento para que la elija.
Espero que te ayude a mi si me funciona desde hace mucho.
Un saludo
Carlos
Colt Hop ED, S.L.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es
Nunca se termina de aprender, por eso necesito siempre ayuda.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es
Nunca se termina de aprender, por eso necesito siempre ayuda.
Re: Establecer impresora predeterminada
Hola Ruben:
Usa la funcion:
Así obtienes las impresoras instaladas:
Así la Impresora por Defecto:
Un saludo
JLL
Usa la funcion:
Code: Select all | Expand
PrnSetDefault( "aqui el nombre de la impresora", "" )
Así obtienes las impresoras instaladas:
Code: Select all | Expand
aPrinters := aGetPrinters()
Así la Impresora por Defecto:
Code: Select all | Expand
cPrinter := PrnGetName()
Un saludo
JLL
Libreria: FWH/FWH1109 + Harbour 5.8.2 + Borland C++ 5.8.2
Editor de Recursos: PellecC
ADA, OURXDBU
S.O: XP / Win 7 /Win10
Blog: http://javierlloris.blogspot.com.es/
e-mail: javierllorisprogramador@gmail.com
Editor de Recursos: PellecC
ADA, OURXDBU
S.O: XP / Win 7 /Win10
Blog: http://javierlloris.blogspot.com.es/
e-mail: javierllorisprogramador@gmail.com
- karinha
- Posts: 7916
- Joined: Tue Dec 20, 2005 7:36 pm
- Location: São Paulo - Brasil
- Been thanked: 3 times
- Contact:
Re: Establecer impresora predeterminada
Code: Select all | Expand
METHOD New( cDocument, lUser, lPreview, cModel, lModal, lSelection, cFile ) CLASS TPrinter
local aOffset
local cPrinter
DEFAULT cDocument := "FiveWin Report" ,;
lUser := .f., lPreview := .f., lModal := .f., lSelection := .f.
if lUser
::hDC := GetPrintDC( GetActiveWindow(), lSelection, PrnGetPagNums() )
if ::hDC != 0
cModel = ::GetModel() + "," + ::GetDriver() + "," + ::GetPort()
endif
elseif cModel == nil // Modified: 16/01/2014
::hDC := GetPrintDefault( GetActiveWindow() )
cModel = ::GetModel() + "," + ::GetDriver() + "," + ::GetPort()
SetPrintDefault( cModel ) // NEW !!! // 16/01/2014 Joao
else
cPrinter := GetProfString( "windows", "device" , "" )
WriteProfString( "windows", "device", cModel )
SysRefresh()
PrinterInit()
::hDC := GetPrintDefault( GetActiveWindow() )
SysRefresh()
WriteProfString( "windows", "device", cPrinter )
SetPrintDefault( cPrinter ) // NEW !!! Antonio Linares
endif
if ::hDC != 0
aOffset = PrnOffset( ::hDC )
::nXOffset = aOffset[ 1 ]
::nYOffset = aOffset[ 2 ]
::nOrient = ::GetOrientation()
elseif ComDlgXErr() != 0
MsgStop( "There are no printers installed!" + CRLF + ;
"Please exit this application and install a printer." )
::nXOffset = 0
::nYOffset = 0
else
::nXOffset = 0
::nYOffset = 0
::nOrient = DMORIENT_PORTRAIT
endif
::cDocument = cDocument
::cModel = cModel
::nPage = 0
::nPad = 0
::lMeta = .f.
::lPreview = lPreview
::lStarted = .F.
::lModified = .F.
::lPrvModal = lModal
if ! Empty( cFile ) .and. Lower( Right( cFile, 3 ) ) == "pdf"
::cFile = cFile
::lMeta = .t.
elseif ::lPreview
::lMeta = .t.
endif
if ! ::lMeta
::hDcOut = ::hDC
else
::aMeta = {}
::cDir = GetEnv( "TEMP" )
if Empty( ::cDir )
::cDir = GetEnv( "TMP" )
endif
if Right( ::cDir, 1 ) == "\"
::cDir = SubStr( ::cDir, 1, Len( ::cDir ) - 1 )
endif
if ! Empty( ::cDir )
if ! lIsDir( ::cDir )
::cDir = GetWinDir()
endif
else
::cDir := GetWinDir()
endif
endif
return Self
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
-
- Posts: 23
- Joined: Sun Mar 24, 2013 3:25 pm
Re: Establecer impresora predeterminada
Gracias, gracias amigos. Solucionado con un poco de todos.
Cambie lo que dice karinha y ademas hice..
claImpreAnterior := PrnGetName()
nImprePDF:= AScan(aPrinters, "PDF")
cLaImpre :=aPrinters[nImprePDF]
cLaImpre := xTrim(cLaImpre) (ltrim+rTrim)
SetPrintDefault( cLaImpre )
Saludos y gracias.
Cambie lo que dice karinha y ademas hice..
claImpreAnterior := PrnGetName()
nImprePDF:= AScan(aPrinters, "PDF")
cLaImpre :=aPrinters[nImprePDF]
cLaImpre := xTrim(cLaImpre) (ltrim+rTrim)
SetPrintDefault( cLaImpre )
Saludos y gracias.
Gracias, Saludos.
Ruben Dario Fernandez
FWH 14.02 Borland, Harbour.
SublimeText.
Ruben Dario Fernandez
FWH 14.02 Borland, Harbour.
SublimeText.
- MarioG
- Posts: 1380
- Joined: Fri Oct 14, 2005 1:28 pm
- Location: Resistencia - Chaco - AR
- Been thanked: 2 times
Re: Establecer impresora predeterminada
Que bueno que lo solucionaste!
QUE GRANDE ESTE FORO!
QUE GRANDE ESTE FORO!
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
Chaco - Argentina
-
- Posts: 23
- Joined: Sun Mar 24, 2013 3:25 pm
Re: Establecer impresora predeterminada
Si Mario, es IMPONENTE.
Gracias a todos.
Gracias a todos.
Gracias, Saludos.
Ruben Dario Fernandez
FWH 14.02 Borland, Harbour.
SublimeText.
Ruben Dario Fernandez
FWH 14.02 Borland, Harbour.
SublimeText.