Hola a todos..
Printer.Printers
esto funciona en linux? o sea, c�mo obtengo en linux las impresoras instaladas??
chauuuuuuuuuu

Mailing lists / lazarus-es / 2010-08
9 messages · 4 people · –
Reply by email Subscribe to this list Your subscription
Read-only archive. Use j and k to move between messages.
Hola a todos..
Printer.Printers
esto funciona en linux? o sea, c�mo obtengo en linux las impresoras instaladas??
chauuuuuuuuuu
Hay 2 opciones
- con Lazreport, este provee el dialogo con las impresoras.
- con Printer puedes utilizar
if not PrintDialog1.Execute then exit;
//Printer.PrinterIndex se asigna solo desde PrintDialog1
Printer.RawMode := True;
Printer.BeginDoc;
etc. etcTengo un linux en producci�n que imprime todos los dias, anda bien el formato matricial. (solo algunos caracteres no los imprime bien pero no me puesto a investigar)
El d�a 1 de agosto de 2010 19:30, Paola Bruccoleri <pbruccoleri en adinet.com.uy> escribi�:
Claudio Romero escribi�:
Hola Claudio..
muchas gracias por el aporte...
mi idea es que el sistema funcione tanto en win como linux (aunque funcionar� en linux en un principio)..
�Qu� es lo que puedo guardar de las impresoras instaladas (nombre, path,....) en una bd para, con ese dato, elegir esa impresora y mandar a imprimir?
Porque no quiero mostrar el cuadro de di�logo de elegirlas ya que ser�a muy inc�modo para el operador.. deber�a ser transparente. tendr�s alg�n ejemplo?
chauuuuuuuuuuu
En realidad es mas sencillo, si no quieres mostrar el dialogo, en linux usaria la impresora por defecto que esta en CUPS.
En CUPS (seria el panel de control de las impresoras en linux) siempre hay una impresora por defecto. Si no tienes que instalar la impresora. Aunque sea matricial hay un modo RAW sin drivers.
Aunque no lo probe pero seguro que es asi, si no muestras el dialogo imprime en la impresora por defecto.(Printer.PrinterIndex queda con la impresora predeterminada)
El d�a 2 de agosto de 2010 10:45, Paola Bruccoleri <pbruccoleri en adinet.com.uy> escribi�:
Claudio Romero escribi�:
Hola Claudio..
el tema es que se imprimir� en 2 o 3 impresoras a la vez, seg�n sea el caso. Hay algunos pedidos que deber�n salir en una de ellas y otros en otra, seg�n como se configure el sistema.
Por eso es que quiero guardar una lista de impresoras instaladas, y luego asociar cada tipo de art�culo a esa impresora, cosa que cuando vaya a imprimir, se haga donde corresponda.
chauuuuuuuu
Bien
Primero identifica el nro de cada impresora, no se si hay algo mas automatico (Algo con el nombre de la impresora, pero si cambias el nombre de la impresora vuelves al mismo problema.)
if not PrintDialog1.Execute then exit;
ShowMessage(IntToStr(Printer.PrinterIndex));Y luego un pedido sale en la impresora 0
pones
Printer.PrinterIndex:=0;Otro pedido sale en la impresora 1
pones
Printer.PrinterIndex:=1;La identificacion de cada impresora la puedes grabar en un archivo INI, asi si cambian el orden de las impresoras, lo arreglas facil.
Saludos
Claudio Romero escribi�: Hola Claudio.. el tema es que se imprimir� en 2 o 3…
Paola , seguramente debe haber en Lazarus alguna funcion que interconecte con CUPS
Cups te devuelve la lista de impresoras , al menos asi funciona el wrapper en Harbour .
Bruno
El 2 de agosto de 2010 11:39, Paola Bruccoleri
<pbruccoleri en adinet.com.uy>escribi�:
------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20100802/a715d5cf/attachment.html>
Claudio Romero escribi�: Hola Claudio.. el tema es que se imprimir� en 2 o 3…
http://cups4lazarus.sourceforge.net/
Saludos
Bruno
El 2 de agosto de 2010 11:39, Paola Bruccoleri
<pbruccoleri en adinet.com.uy>escribi�:
------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20100802/13f719bc/attachment.html>
--- El lun 2-ago-10, Bruno Luciani <bruno.luciani en gmail.com> escribi�:
De: Bruno Luciani <bruno.luciani en gmail.com>
Asunto: Re: [Lazarus-es] Printer.Printers
A: "Spanish version of Lazarus List" <lazarus-es en lists.lazarus.freepascal.org> Fecha: lunes, 2 de agosto de 2010, 18:47
http://cups4lazarus.sourceforge.net/
Saludos
Bruno
Si se usa el paquete Printer4Lazarus (unit OsPrinters o cualquier dialogo de impresion) Printer.Printers regresa la lista de impresoras instaladas, es portabke ya que en windows usa la api nativa, en otros sistemas usa CUPS o carbon en Mac. El 2 de agosto de 2010 11:39, Paola Bruccoleri <pbruccoleri en adinet.com.uy> escribi�:
Claudio Romero escribi�:
En realidad es mas sencillo, si no quieres mostrar el dialogo, en
linux usaria la impresora por defecto que esta en CUPS.
En CUPS (seria el panel de control de las impresoras en linux) siempre
hay una impresora por defecto. Si no tienes que instalar la impresora.
Aunque sea matricial hay un modo RAW sin drivers.
Aunque no lo probe pero seguro que es asi, si no muestras el dialogo
imprime en la impresora por defecto.(Printer.PrinterIndex queda con la
impresora predeterminada)
�
Hola Claudio..
el tema es que se imprimir� en 2 o 3 impresoras a la vez, seg�n sea el caso. Hay algunos pedidos que deber�n salir en una de ellas y otros en otra, seg�n como se configure el sistema.
Por eso es que quiero guardar una lista de impresoras instaladas, y luego asociar cada tipo de art�culo a esa impresora, cosa que cuando vaya a imprimir, se haga donde corresponda.
chauuuuuuuu
Eso suena bien, usando el nombre de la impresora con Printer.SetPrinter(Nombre) es suficiente para seleccionarla y quedar disponible para el siguiente trabajo de impresion, si usas rawmode es necesario ponerlo en false antes de imprimir en impresoras no matriciales.
Jesus Reyes A.
------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20100802/f867c211/attachment-0001.html>