Lenguajes y tecnologías de impresoras

imagen

Hoy, la impresora no es muy diferente de una computadora. Tiene un procesador, memoria, sistema operativo y memoria de solo lectura. Si la impresora es una impresora de red, entonces tiene una tarjeta de red y un servidor web que permite su administración. Las impresoras no solo admiten diferentes protocolos de red, sino que también aceptan tareas en idiomas específicos que describen el diseño de páginas y documentos. Por lo tanto, en una gran empresa, el software de impresión debe interactuar con diferentes implementaciones de hardware del protocolo de impresión, posiblemente incluso desconocido. Configurar la impresión de la impresora es más difícil de lo que parece. Los usuarios dan por sentado la impresión, sin embargo, para obtener un resultado de calidad, debe realizar más de un paso.

En este artículo, propongo considerar y comparar las tecnologías de impresión con las que se encuentra al elegir una nueva impresora, realizar una preparación de preimpresión de un documento o trabajar con copias electrónicas de documentos en PDF. Y, por supuesto, si está intentando interceptar y analizar un trabajo de impresión.

Sobre lenguajes de impresora


¿Qué es un trabajo de impresión? Este es un programa escrito en un lenguaje de programación especial: lenguaje de descripción de página (PDL).

Las páginas impresas están codificadas en PDL y son más pequeñas, lo que significa que se transmiten más rápido que las imágenes en bruto. Las PDL son independientes tanto de los dispositivos como de la resolución. Las impresoras convierten los trabajos en un idioma especializado en un formato amigable para el dispositivo. Esto significa que las impresoras contienen intérpretes de idiomas. Al igual que los lenguajes de programación "a la Java", estos lenguajes tienen más de una versión y cada uno funciona a su manera.

La conversión de PDL a mapas de bits se realiza mediante un programa de procesador: un procesador de mapas de bits, un procesador de imágenes ráster o simplemente RIP.

Los lenguajes PDL más famosos: Postscript, PCL5, PCL6

Muchas impresoras entienden más de un idioma. Pero si envía el programa en un idioma diferente, la impresión no puede completarse: el compilador no es el mismo.

PostScript es el más común de todos. Desarrollado originalmente por Adobe. Requiere una licencia para su uso, por lo que hoy se usa principalmente en dispositivos de alto rendimiento del segmento de precio superior. Casi todos los programas que componen páginas pueden generar trabajos PostScript. Este es un lenguaje de programación completamente funcional. Los programas escritos se pueden ver usando un editor de texto. ¡Tienen muchos paréntesis, así como /% caracteres!

PD Los intérpretes buscan estos caracteres para reconocer los trabajos de impresión.

Ejemplo de PostScript:

%!PS-Adobe-3.0 EPSF-3.0
   %%Creator: [generally the program that generated the postscript]
   %%Title: [descriptive name or just the file name]
   %%CreationDate: [date the file was created]
   %%DocumentData: Clean7Bit
   %%Origin: [eg: 0 0]
   %%BoundingBox: xmin ymin xmax ymax
   %%LanguageLevel: 2 [could be 1 2 or 3]
   %%Pages: 1
   %%Page: 1 1
   %%EOF

PostScript es también el estándar para MAC y el estándar profesional.

PCL , o lenguaje común de impresora, es una alternativa a PostScript de Hewlett Packard (en adelante, HP). El lenguaje es comprensible para las impresoras de otros fabricantes, algunos solo pueden funcionar con él. PCL no es un lenguaje de programación; simplemente le dice a la impresora cómo debe imprimir páginas. Los trabajos en PCL son binarios e incomprensibles para los humanos, pero de menor tamaño que PostScript.

Hay filtros que convierten Postscript a PCL. Las versiones de PCL no varían tanto como PostScript, pero son lo suficientemente molestas. Los trabajos se imprimen de forma ligeramente diferente en diferentes modelos de impresoras. La razón está en dialectos con equipos especiales. A diferencia de PostScript, PCL fue diseñado originalmente para administrar la impresora y no para la portabilidad de la página, por lo tanto, para lograr el mejor resultado de impresión, debe usar los comandos para la impresora correspondiente. Es por eso que el modelo de impresora se indica en el sistema operativo (SO), de lo contrario se generan otros comandos PCL que se interpretan de forma incorrecta o se ignoran por completo.

De hecho, la pregunta no es solo en hardware: existe la llamada emulación.

Emulación PCL- esto significa que el desarrollador del estándar (es decir, HP) no ha licenciado ni probado la compatibilidad del PCL con la impresora del fabricante.

Emulación PostScript : Adobe no recibió regalías por su intérprete PostScript; en cambio, algunos proveedores escribieron su propio código. Las políticas de licencias dieron lugar a dialectos de idiomas, similares, pero no repiten exactamente el original. En la práctica, ambos pueden fallar con error, pero esto rara vez sucede.

Para confundirlo completamente, HP ha identificado dos familias de idiomas: PLC5 (5e es blanco y negro y 5c es color) y PCL6 (PCL / XL). Las nuevas impresoras HP son compatibles con ambos. Anteriormente, PCL4 también existía, pero ahora es demasiado arcaico. Comenzando con PCL5 5e, también se han introducido innovaciones tales como: soporte para resolución de 600 ppp, intercambio bidireccional de datos entre la impresora y la computadora, y nuevas fuentes para Microsoft Windows.

Ejemplo PCL5:

^[E^[&11o0o1t016D^[&11X^[*r0F^[*r0F^[*v0n1O^[*p4300X^[%1BDT~,
00a4b100g2P^[*v1O^[*c899a154b10g2P^[*v1O^[*p346Y^[*p256X

Ejemplo PCL6:

A’X^BX^BA.<89>A^@A.<86>A^CA.<8f>AA^@A.<88>A^AA.
Af^@^@A.A.dA^A:^@

PDF es otro desarrollo de Adobe: formato de documento portátil. Este es un formato de documento que utiliza parte de las capacidades de PostScript, la base de la publicación y los programas de Office. Los documentos PDF son independientes del sistema operativo y la plataforma. Muy a menudo, el formato se utiliza para intercambiar documentos con la capacidad de ver e imprimir. PDF es un lenguaje para describir documentos, no páginas. Le permite describir no solo las páginas, sino también toda la estructura del documento, los capítulos, la relación de las columnas de texto entre sí, las ediciones, etc. Además, un montón de características multimedia.

Hay impresoras que interpretan el PDF directamente. Hay muchos traductores y editores visuales con la capacidad de convertir PDF, por ejemplo, a PostScript. Esta conversión puede incluso ocultarse al usuario.

Ejemplo en PDF:

PDF:
%PDF-1.4
%A.A.AA”
81 0 obj
<<
/Linearised 1
/O 83
/H [915 494]
/T 125075
>>
Endobj
Xref
81 24

XHTML : apareció hace relativamente poco. La impresora recibe un flujo de datos en un lenguaje que describe la página web de impresión XHTML, genera una representación del trabajo (diferentes impresoras generan diferentes trabajos, al igual que diferentes navegadores reflejan la página de manera diferente).

HP-GL / 2 - Lenguaje de gráficos Hewlett-Packard: se utiliza para imprimir gráficos vectoriales como parte de un documento.

HPGL es un lenguaje de soporte de plotter. Compatible con casi todas las impresoras HP.

PJL - Lenguaje de trabajo de impresora. El lenguaje del trabajo para la impresora, el metalenguaje de HP, describe qué PDL se debe usar para el trabajo, cuál será el tamaño del papel, cuántas copias necesita imprimir, un trabajo simple o dúplex, etc.

Ejemplo de PJL:

@PJL SET DUPLEX=ON
@PJL SET PAGEPROTECT=OFF
@PJL SET COPIES=3
@PJL ENTER LANGUAGE =PCL

Sobre conductores


Controlador de impresora y soporte: software que convierte un archivo en un archivo compatible con la impresora. Las tareas y funciones del controlador responden las preguntas: "¿Qué sucede si la impresora no admite todos los idiomas?", "Hay un trabajo PostScript y la impresora solo reconoce PCL 5E". "Necesito imprimir un PDF, ¿y si la impresora no lo interpreta?"

El sistema podrá hacer todo por sí mismo (averiguar el idioma del archivo PDL, realizar conversiones). También puede convertir el archivo manualmente. Los navegadores pueden convertir HTML a PostScript o PDF. Open Office puede convertir .doc a PDF. Desde postscript se puede convertir a casi cualquier formato, incluido PCL.

Gdi- Otro trabajo de impresión se puede ver e interpretar centralmente, en una PC. También puede enviar imágenes de mapa de bits procesadas a la impresora "sin inteligencia". Así es como funcionan las impresoras GDI de Windows. Dichas impresoras tienen un número muy pequeño de instrucciones lógicas y no tienen intérpretes PDL en absoluto. En cambio, la rasterización es realizada por la computadora host. Parte de la información para interactuar con GDI está oculta en el código de Windows bajo patentes. Este secreto hace que sea difícil desarrollar análogos en sistemas Linux y, de hecho, es una ventaja. Del mismo modo, la situación se está desarrollando con el soporte de los últimos modelos de impresoras. Sin embargo, la situación está cambiando debido a la existencia del demonio CUPS con soporte para muchas impresoras Win que utilizan ingeniería inversa.

Sobre el servidor de impresión


Un poco divertido sobre CUPS y el envío de trabajos de impresión a través de él. Este servidor de impresión está basado en IPP, que es la conocida sobrecarga de HTTP. Las consultas sobre el estado de las impresoras van como una operación HTTP GET e imprimen trabajos a través de HTTP POST. Por lo tanto, CUPS es, de hecho, un servidor web, pero se comunica exclusivamente en el puerto 631, no en el 80. CUPS es quizás la implementación de IPP más completa del planeta, y sus archivos de configuración son muy similares a los archivos del servidor web Apache. Y, por supuesto, permite que los sistemas de impresión utilicen tecnologías de autenticación, control de acceso y encriptación.

En Windows, la impresión a través de IPP apareció desde Windows 2000. En clientes con Windows 7 y versiones posteriores, la compatibilidad con IPP ya está instalada. También hay impresión en Internet: implementación de Windows del servidor de impresión de Internet a través de IPP. Para instalarlo, primero debe instalar el servicio del servidor web MS IIS

Sobre seguridad para impresoras


Las impresoras de red, por supuesto, admiten sus sistemas de control remoto, la configuración y el monitoreo se llevan a cabo principalmente a través del protocolo IPP, SNMP o desde un navegador web a través de HTTP. En particular, al tener acceso a la impresora, puede obtener parámetros tales como: direcciones IP, puerta de enlace estándar, servidor Syslog, nombre de grupo SNMP (contraseña), opciones de protocolo, contraseña de administrador. Aquí, los ataques de acceso no autorizados a través de SNMP y DDOS son posibles. Casi todas las impresoras que se pueden administrar de forma remota son inseguras y usan la contraseña o el nombre SNMP que se proporciona al momento de la instalación.

¿Qué sistema operativo utiliza la impresora? Algunos modelos tienen una distribución basada en Linux a bordo. Puede comprender lo que está instalado en la impresora o cambiar las contraseñas predeterminadas solo cavando en la documentación del fabricante. La confusión con el sistema operativo se ve agravada por el hecho de que las herramientas gráficas de administración tienden a ocultar información sobre las diferencias entre los fabricantes.

En conclusión, quiero decir nuevamente que los problemas de la prensa son multifacéticos, algunos de los cuales quedan fuera del alcance del artículo. La próxima vez espero hablar sobre el diario, los archivos PPD y los tamaños de papel. Acerca de cómo solicitar a una impresora monocromática que imprima un documento en color a doble cara en un formato b4 desconocido, así como sobre todo tipo de utilidades de impresión y comandos de compatibilidad.

Autor del artículo: Timur GaliulinGtrch

All Articles