En las computadoras , un controlador de impresora o procesador de impresión es un software en una computadora que convierte los datos que se van a imprimir a un formato que la impresora puede entender. El propósito de los controladores de impresora es permitir que las aplicaciones realicen impresiones sin conocer los detalles técnicos de cada modelo de impresora.
Los controladores de impresora no deben confundirse con los administradores de cola de impresión , que ponen en cola los trabajos de impresión y los envían sucesivamente a una impresora.
Unix y otros sistemas similares a Unix, como Linux y OS X, utilizan CUPS (abreviatura de Common Unix Printing System), un sistema de impresión modular para sistemas operativos de computadoras similares a Unix, que permite que una computadora actúe como un servidor de impresión . Una computadora que ejecuta CUPS es un host que puede aceptar trabajos de impresión de computadoras cliente, procesarlos y enviarlos a la impresora adecuada. Los controladores de impresora generalmente se implementan como filtros . Por lo general, se los denomina el front-end del sistema de impresión, mientras que los spoolers de impresora constituyen el back-end .
Los backends también se utilizan para determinar los dispositivos disponibles. Al iniciarse, se solicita a cada backend una lista de dispositivos que admite y cualquier información que esté disponible.
DOS admite dispositivos de caracteres predefinidos PRN:
, LPT1:
, LPT2:
y LPT3:
asociados con impresoras paralelas admitidas en el sistema. De manera similar, las impresoras seriales se pueden utilizar con AUX:
, COM1:
, COM2:
, COM3:
y COM4:
.
Los usuarios pueden utilizar comandos como, por ejemplo, " " para imprimir el contenido de un archivo en una impresora. El contenido se transfiere a la impresora sin ninguna interpretación. Por lo tanto, este método de impresión es adecuado tanto para archivos ya almacenados en el lenguaje de la impresora correspondiente como para archivos de texto genéricos sin más que un formato orientado a líneas.COPY file1 LPT1:
DOS también proporciona un administrador de trabajos de impresión que se puede cargar dinámicamente llamado PRINT , así como soporte opcional para realizar capturas de pantalla también en modo gráfico a través de GRAPHICS . Si se carga el controlador de dispositivo de caracteres opcional PRINTER.SYS, DOS proporciona su soporte para cambiar de página de códigos también para las impresoras asociadas (se admiten de forma predeterminada diferentes tipos de impresoras matriciales y de inyección de tinta) .
Más allá de esto, no existen controladores específicos de impresora para todo el sistema que se puedan usar a nivel de aplicación en MS-DOS/PC DOS. Sin embargo, en DR-DOS , el comando SCRIPT se puede cargar para que se ejecute en segundo plano con el fin de interceptar y convertir la salida de impresora de las aplicaciones en PostScript para que sea compatible con impresoras compatibles con PS también por parte de aplicaciones que no las admiten directamente.
Para soportar impresiones más complejas para diferentes modelos de impresoras, cada aplicación (por ejemplo, un procesador de textos ) puede ser enviada con sus propios controladores de impresora, que eran esencialmente descripciones de secuencias de escape de impresora . Las impresoras, también, han sido suministradas con controladores para las aplicaciones más populares. Además, es posible que las aplicaciones incluyan herramientas para editar la descripción de la impresora, en caso de que no haya un controlador listo. En los días en que DOS era ampliamente utilizado, muchas impresoras tenían modos de emulación para Epson FX-80 [1] y comandos IBM Proprinter . Muchas impresoras láser más recientes también tienen modos de emulación para impresoras HP PCL (HP LaserJet) o PostScript que funcionarán en DOS. Parece que también son compatibles con Windows 3.x. [2]
En los sistemas Microsoft Windows , los controladores de impresora utilizan GDI ( basados en Unidrv o PScript ) o XPS (XPSDrv). Los programas utilizan las mismas API estándar para dibujar texto e imágenes tanto en la pantalla como en el papel. Las impresoras que utilizan GDI de forma nativa se conocen comúnmente como Winprinters y se consideran incompatibles con otros sistemas operativos, aunque existe software (como PrintFil) que hará que estas impresoras funcionen en un indicador de DOS dentro de Windows.
Las API de Win32 también permiten que las aplicaciones envíen datos directamente al spooler, sin pasar por el controlador de impresora; sin embargo, pocas aplicaciones utilizan realmente esta opción.
El controlador de impresora generalmente se encuentra en la carpeta C:\Windows\System32\DriverStore\FileRepository en una máquina Windows. [3]
El AmigaOS original hasta la versión 1.3 admitía impresoras a través de una serie estándar de controladores almacenados en la ruta requerida "DEVS:Printers". Todos los controladores de impresora se almacenaban en ese directorio y cubrían las impresoras estándar entre 1985 y 1989, incluido el controlador estándar Epson FX, Xerox 4020, HP, etcétera.
Cualquier controlador de impresora Amiga tenía que comunicarse a través del dispositivo de impresora estándar Amiga (el dispositivo de hardware estándar predeterminado de Amiga que trata con impresoras) y el dispositivo paralelo estándar (que controlaba el puerto paralelo) y el controlador controlaría entonces la impresora por sí solo.
Los controladores de impresora de Amiga fueron una innovación para su época. Evitaban que los usuarios tuvieran que configurar individualmente cada una de sus aplicaciones. Tenían la capacidad de imprimir hasta 4096 colores.
Mediante el uso del programa Preferencias de impresora también se pueden conectar impresoras al puerto serie.
Amiga también tenía soporte para un dispositivo virtual "PRT:" para referirse a printer.device, de modo que, por ejemplo, el comando "COPY file TO PRT:" hacía que el archivo se imprimiera directamente, omitiendo parallel.device y el controlador de impresora predeterminado. Amiga usaba códigos de escape ANSI , no los especiales definidos por los distintos fabricantes de impresoras. De esta manera, todas las aplicaciones en Amiga podían usar el mismo conjunto estándar de secuencias de control y no necesitarían saber qué impresora está realmente conectada. El controlador de impresora luego traducía estas secuencias estándar a secuencias especiales que una determinada impresora entiende.
La función interna "PWrite" de Amiga de printer.device escribe bytes de 'length' directamente en la impresora. Esta función es generalmente utilizada por los controladores de impresora para enviar sus buffers a la impresora. La cantidad de buffers es decidida por las personas que crearon el controlador. Amiga carecía de un spooler de impresora estándar.
Desde AmigaOS 2.0, se modificó el dispositivo de impresora estándar para controlar varias impresoras al mismo tiempo. Las preferencias de impresora se dividieron en tres paneles principales: Prefs:Printer , que selecciona la impresora principal y otros elementos básicos como "Espaciado de impresión" y "Tamaño de papel". PrinterGFX controlaba funciones como Dithering y Scaling. PrinterPS controlaba las impresoras Postscript. Sorprendentemente, los controladores de impresora se mantuvieron casi iguales a los de Workbench 1.3, con límites de 4096.
Este hecho llevó a los usuarios de Amiga a preferir sistemas de impresión de terceros con sus propios controladores, como TurboPrint y PrintStudio, que no solo introdujeron controladores recientes, sino que también incorporaron un spooler de impresión funcional en Amiga y permitieron imprimir a 16 millones de colores. MorphOS utiliza una versión especial de TurboPrint para controlar impresoras recientes.
Muchos programas de Amiga, como los programas DTP como PageStream, presentaban en el pasado sus propios controladores de impresora.
Las impresoras USB son reconocidas automáticamente por Poseidon USB Stack. Esta pila es capaz de detectar cualquier dispositivo USB por su clase, pero las impresoras aún requieren un controlador para ser controladas.
Además de poder instalarse en un ordenador, los controladores también podrían estar presentes en el firmware integrado de las impresoras y estar disponibles a través de un protocolo de red (por ejemplo, IPP). El firmware integrado de una impresora podría eliminar así la necesidad de instalar ningún controlador en un ordenador, al aceptar datos de impresión en un formato de uso general (por ejemplo, PDF) a través de un protocolo de red. A pesar de algunos esfuerzos por estandarizar las distintas etapas del proceso de impresión, las interfaces de las impresoras siguen siendo en gran medida muy exclusivas y específicas del fabricante. Por lo tanto, la naturaleza de las funciones realizadas por los controladores puede variar. No obstante, en función de la función realizada, los controladores pueden clasificarse de la siguiente manera.
Estos controladores pueden convertir datos de impresión de un formato de uso general (por ejemplo, PDF, DVI, etc.) a otro formato de uso general (por ejemplo, PS). Algunos ejemplos son Ghostscript, etc.
Estos controladores convierten los datos de impresión de un formato (por ejemplo, PS) a un formato final específico del dispositivo que el hardware de la impresora puede procesar y crear una impresión. Estos controladores actúan como la última etapa en la entrega de un trabajo de impresión a la impresora. Es más probable que estos controladores estén integrados en el firmware de la impresora.
Algunos ejemplos de formatos específicos del fabricante incluyen:
Los controladores instalables se pueden empaquetar en varios formatos. PPD es un formato de empaquetado popular para controladores que aceptan datos Postscript o PDF como entrada. Debido al predominio de determinados sistemas operativos, la interfaz sistema operativo-controlador está más estandarizada que las interfaces controlador-impresora. Por lo tanto, hay más estandarización en los formatos de empaquetado de los controladores que en las funciones reales que realizan los controladores.