IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Història

TODO

La impresión en Unix históricamente se ha realizado con uno de estos dos sistemas de impresión: el demonio de impresión en línea de Berkeley (“LPD”) [RFC1179] y el sistema de impresión en línea de AT&T. Estos sistemas de impresión se diseñaron en la década de los setenta para imprimir texto en impresoras de línea; a partir de entonces, los vendedores han ido añadiendo diversos niveles de soporte para otro tipo de impresoras.

Algunos sustitutos a estos sistemas de impresión han aflorado [LPRng, Palladin, PLP], sin embargo, ninguno de ellos cambió las capacidades fundamentales de los sistemas primigenios.

A lo largo de los últimos años se han realizado muchos intentos de desarrollo para obtener una interfaz estándar de impresión, incluyendo el borrador de impresión estándar de POSIX, desarrollado por el Instituto de Ingenieros Eléctricos y Electrónicos (IEEE) [IEEE-1387.4], y el Protocolo de Impresión de Internet (IPP), desarrollado por IETF a través de PWG [IETF-IPP]. El protocolo de impresión estándar de POSIX define un conjunto común de herramientas para la consola así como una interfaz en C para la administración y los trabajos de impresión, pero fue abandonado por el IEEE.

El Protocolo de Impresión de Internet (IPP) define una serie de extensiones al Protocolo de Transferencia de HiperTexto 1.1 (HTTP) [RFC2616] que añaden soporte para los servicios de impresión remota. IPP/1.0 fue aceptado por el IETF, como un documento RFC experimental, en octubre de 1999. Desde entonces el PWG ha desarrollado y actualizado el conjunto de especificaciones para IPP/1.1, que ha sido aceptado por el IETF y está en espera para ser publicado como una propuesta de estándar. Al contrario que la Impresión POSIX, IPP ha gustado a las grandes empresas de soporte, y se ha posicionado para convertirse en la solución estándar para la impresión en red de todos los sistemas operativos.

CUPS hace uso de IPP/1.1 para proporcionar un sistema de impresión completo y moderno, destinado a sistemas Unix, que pueda ser ampliado para dar soporte a nuevas impresoras, dispositivos y protocolos, a la vez que garantice la compatibilidad con las aplicaciones Unix existentes. CUPS es Software Libre y se distribuye bajo los términos de la Licencia Pública General (GPL) y la Licencia Pública General de Librerías (LGPL) del proyecto GNU.

Glossari de termes

Models de gestió de la impressió

Peer to Peer. Sistema descentralitzat

El terme P2P o Peer To Peer fa referència a un model entre iguals/companys (peers en anglès). És un sistema descentralitzat, en el qual cada client pot accedir directament a les impressores de xarxa.

És un sistema molt utilitzat en sistemes SoHo (Petites oficines o en sistemes casolans). En grans entorns de treball és un sistema poc recomanable, ja que un client pot arribar a saturar una impressora bloquejar-la per a l'ús per part d'altres clients. A més és un sistema que no té cap tipus de controls ni monitorizació (no podem saber quins clients imprimeixen més)

Model client-servidor. Sistema centralitzat (Central Spooling)

Aquest tipus de sistemes utilitzant un servidor d'impressió o print server. Totes les tasques d'impressió passen per un servidor centralitzat que gestiona les impressions.

En els següents apartats veurem el diferents tipus de servidors d'impressores que podem trobar.

Servidor d'impressió en cru (Raw Print Serving). Drivers de les impressores als clients Windows

La forma més habitual de configurar un servidor d'impressió Linux que dona servei a clients Windows/Samba és en mode "raw" (cru o "tal qual"). En aquest tipus de sistemes el servidor d'impressió espera rebrà les dades directament en el format (binari) d'impressió de la impressora de destinació. Per tal que això sigui possible, el client ha de tenir instal·lat el driver nadiu (proporcionat pel venedor de la impressora) de la impressora de destinació. Cada client de la xarxa ha de tenir el driver instal·lat per a cada possible impressora de la xarxa.

El procediment per configurar aquest tipus de sistemes el podeu consultar a CUPS#Raw_printing_server.


Servidor d'impressió intel·ligent

Amb CUPS és possible implementar un servidor d'impressió intel·ligent.

Les raons per les quals a un administrador li pot interessar aquest tipus de servidor són:

  • La possibilitat de generar estadístiques i informes d'ús de les impressores. Els gestors o caps de la empresa o institució els hi pot interessar poder respondre a preguntes com:
  • Quantes pàgines s'ha imprès a cada impressora
  • Quines són les hores punta d'impressió?
  • Quin departament imprimeix més?
  • Disposar d'un sistema de gestió de quotes d'impressió.
  • Problemes amb drivers de fabricants.

El sistema de filtratge de CUPS (CUPS filtering System) permet realitzar aquestes tasques.

Informació extreta de la secció:

Advanced Intelligent Printing with PostScript Driver Download

De la pàgina:

http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/CUPS-printing.html#overridesettings

Network printing (només clients Windows i CUPS sense Samba)

Els clients Windows tenen dos maneres d'imprimir:

  • Executar el driver localment i generar la sortida en el format específic de la impressora a partir de GDI i el format EMF.

Avantatges:

  • Es pot utilitzar la impressora inclús si no hi ha driver per a Linux (el driver està als clients Windows)
  • És la configuració més senzilla i igual a la configuració d'un servidor d'impressores NT (per tant es poden substituir fàcilment)

Inconvenients

  • Cal instal·lar els drivers a cada màquina client
ExecucioDriverEnClient.png
  • Enviar la sortida de GDI (format EMF) directament al servidor. el driver s'executa al servidor i converteix el fitxer al format del dispositiu final en el servidor.

El servidor utilitza el drivers PostScript, PCL, ESC/P, o altres per convertir el fitxer EMF al format especific de la impressora.

Invonvenient:

  • No es pot fer amb sistema purament Linux i CUPS ja que no es poden executar al servidor els drivers de Windows. Es pot fer quelcom similar amb CUPS i Samba, consulteu el següent apartat.
ExecucioDriverEnServidorImpresio.png

Network printing (Clients Windows/Samba i servidor d'impressio UNIX/Samba)

Les opcions són:

  • Els clients Windows envien PostScript al servidor CUPS
  • El servidor CUPs s'encarrega de generar el format final d'impressió a partir del PostScript

Això requereix tenir un driver PostScript instal·lat als clients (inclús si la impresora no és PostScript) i també requereix que tinguem el driver de la impressora al servidor CUPS

Les opcions que cal posar a la secció global de la configuració de Samba són:

printing = cups
printcap = cups

Quan s'especifiquen aquestes opcions, totes les ordres tradicionals d'impressió (ordre print o lppause) de Linux seran ignorades. El que fa Samba és interactuar amb CUPs (a través de l'API de CUPS) en comptes d'utilitzar aquestes ordres.

NOTA: Amb classical printing l'opció és posar el paràmetre printing a sysv

NetworkPrintingWindowsClientsSambaPrintServer.png

Conversió de formats nadius a formats d'impressió . Page Description Languages (PDL)

Hom podria esperar que imprimir fos tant senzill com enviar qualsevol format de fitxer i que simplement s'imprimís, però la realitat és un altre, ja que cal realitzar una conversió de format de fitxer, i el problema és que no hi ha uns estàndard de formats d'impressió comú entre fabricants i tipus d'impressores.

Tot i que possiblement PostScript (format d'Adobe) i possiblement PCL (format de HP) són estàndards semi-oficials per ser del més utilitzats, hi ha força fabricants que utilitzen els seus propis formats. Sovint l'excusa és que han de pagar masses diners per tenir les llicències d'ús de certs formats.

Windows. GDI i EMF

En sistemes operatius Windows, la tasca de conversió al format d'impressió corresponent és realitzada per els drivers de la impressora. Els desenvolupadors d'aplicacions disposen de l'API Graphical Device Interface (GDI). L'API està integrada al sistema operatiu.

GDI s'utilitza com una forma unificada de dibuixar gràfics, fonts, documents, etc tant en pantalles com impressores de forma que els desnvolupadors poden crear fàcilment els drivers, i es força fàcil aconseguir WYSIWYG (What You See Is What You Get) ja que les funcions utilitzades per mostrar la informació per pantalla o per la impresora provenen d'una font comuna.

El GDI crea un format de fitxer anomenat Enhanced MetaFile (EMF) que es processat pel driver de la impressora i convertit al format especific d'impressió de la impressora.

WindowsPrinting.png

MAC i el mon Unix. Postscript

A Unix i Linux no existeix un sistema similar al GDI i EMF de Windows, o al menys no està integrat al nucli (kernel) del sistema ni al servidor X.

IMPORTANT: A Linux, cada aplicació és responsable per ella mateixa de crear la seva sortida d'impressió

Afortunadament, la gran majoria d'aplicacions utilitzen PostScript, el problema és que no totes les aplicacions generen PostScript de la mateixa qualitat. L'altre problema és que existeix una gran diferència entre com el document és mostra per pantalla i com s'imprimeix dificultant poder aconseguir WYSIWYG.

NOTA: Històricament el problema de les diferències entre format de pantalla i format d'impressió a Linux és degut a que els dissenyadors del sistemes predecessors a X.org van refusar cap responsabilitat en definir els formats de sortida en paper, dedicant només els seus esforços al format per pantalla. Hi ha un projecte anomenat Xprint, però encara no està prou madur. Es pot apreciar aquest diferència al consultar les fonts, veureu que hi ha fonts per pantalla i fonts per a impressora

El format i llenguatge de programació PostScript és una invenció de l'empresa Adobe, però cal dir que les seves especificacions ha estat publicades extensament.

IMPORTANT: Cal que tingueu en compte que Apple i el seus sistemes operatius basats en BSD-Unix (MAC OS X o Darwin) utilitzen un sistema basar el PDF per a totes les tasques relacionades amb la impressió

Tot i la mancança en sistemes Unix/Linux d'un sistema comú per a mostra la informació tant en pantalla com en impressora, les tasques d'impressió són senzilles si es disposa d'impressores que suportin PostScript. Aquest impressores tenen incorporat interpret del llenguatge PostScript, aka Raster Image Processor o RIP. Aquest interpret fa tota la tasca de convertir les ordres d'impressió de PostScript en un gràfic de mapa de bits (format final d'impressió que depèn de la resol·lució de la impressora o dpi). Aquest sistema és molt similar al que utilitza Windows d'origen.

NOTA: Els programes tradicionals d'impressió de Linux tot i utilitzar PostScript no són PPD-aware.PPD és el format de fitxer PostScript Printer Description que permet especificar i controlar totes les opcions que una impressora suporta (doblecara, grapes, etc.). Els usuaris Linux, abans de tenir CUPS, no podien accedir a aquestes opcions.

LinuxPrinting.png

El problema però és que no totes les impressores suporten PostScript i utilitzen formats PDL propis, sovint propietaris. En aquest tipus d'impressores és necessari fer una conversió prèvia utilitzant Ghostscript, un Raster Image Processor de programari (els RIP de les impressores solen ser chips de maquinari) per a impressores que no siguin PostScript.

GhostScript.png

Vegeu també

Enllaços externs