Objetivos
El formato META se utiliza para almacenar y transportar los datos de semitono y de corte desde el componente RIP (Render) al componente de impresión (Spooler). El formato META debe cumplir los siguientes requisitos:
-
Formato de transporte de flujo: permite que el componente RIP envíe directamente los datos que procesa al componente Impresora, que puede empezar a imprimir inmediatamente sin que el flujo de datos esté completo.
-
Formato de almacenamiento de acceso aleatorio: permite al componente de la impresora anidar varios trabajos de forma eficiente. Especialmente la rotación de archivos necesita mucho acceso aleatorio
-
Compresión: almacena y transmite datos comprimidos para utilizar eficazmente la red y el disco.
-
Formatos abiertos: el formato de archivo para el almacenamiento debe utilizar formatos abiertos en la medida de lo posible para permitir una fácil reutilización en otros componentes (incluidos los componentes externos).
Formato de la tienda
Los datos META se almacenan en una carpeta dentro de la carpeta del trabajo llamada META. La carpeta contiene los siguientes archivos:
Información.xml |
El archivo de información es un XML que contiene todas las propiedades para describir los datos del trabajo. Contiene información de configuración general. Definición de las palabras clave que aparecen a continuación en el «diccionario META Job» |
00001.xml |
Un diccionario XML que contiene la información de la página 1. Definición de las palabras clave a continuación en el «Diccionario de la página META» |
00001.bmp |
La vista previa de la página 1 en formato BMP de Windows. La implementación actual está restringida a 24 bits RGB. |
00001.rtl |
Datos tramados en formato HP/RTL. Este archivo sólo está disponible para impresoras y no para cortadoras. La implementación actual se limita a líneas comprimidas RLE intercaladas planas. El número de bits por píxel se limita a 1, 2, 4 y 8. Ver los límites de la implementación más abajo: Implementación de HP-RTL. |
00001.idx |
Archivo de índice que contiene los desplazamientos por línea en el archivo *.rtl indicando dónde comienza el comando Esc *b del primer plano/canal de esa línea. Este archivo de índice contiene punteros de 64 bits y es utilizado por el componente de la Impresora para obtener un rápido acceso aleatorio a los datos de trama con fines de anidamiento. Este archivo es necesario cuando hay datos de medios tonos. |
00001.plt |
Comandos de corte en formato HPGL/2. El archivo sólo está disponible para cortadoras y dispositivos híbridos. La implementación actual sólo admite un pequeño subconjunto del documento HPGL/2 que figura a continuación: Implementación de HPGL/2. |
00002.* |
Cada página consiste en al menos el XML de la página con el número de página escrito en 5 dígitos. Los demás archivos son opcionales y sólo son necesarios cuando se hace referencia a ellos desde el XML de la página. |
Diccionario de trabajo META
Etiqueta |
Etiqueta |
Descripción |
Trabajo |
Diccionario que contiene las siguientes palabras clave |
|
Nombre |
Nombre del puesto de trabajo |
|
QueueName |
Nombre de la cola |
|
Nombre de usuario |
Nombre del usuario |
|
PrintMode |
Nombre del modo de impresión (informativo) |
|
Referencia |
Nombre del perfil de normalización utilizado (informativo) |
|
Copias |
Número de copias a imprimir |
|
Páginas |
Número de páginas en este trabajo, sólo está disponible cuando el trabajo está completamente renderizado |
|
MediaName |
Nombre del tipo de medio que se va a utilizar (informativo) |
|
MediaSize |
Definición del tamaño del soporte que se va a utilizar. Atributos:
|
|
ContentRect |
El área de unión utilizada por la imagen en todas las páginas definidas en Unidad (1/18 pulgadas). Izquierda, Arriba, Derecha, Abajo en formato %f,%%f,% |
|
TrayName |
Nombre de la bandeja que se va a utilizar |
|
Intercalar |
Booleano para indicar el cotejo de copias |
|
DeviceDriver |
Conductor a utilizar |
|
DeviceURL |
URL de la conexión al dispositivo (impresora/cortadora), relativa a la ubicación del spooler |
|
DriverSettings |
Configuración del controlador XML utilizado para crear los datos META |
|
Raster |
Booleano que indica si el trabajo contiene datos rasterizados |
|
Vector |
Booleano que indica si el trabajo contiene datos vectoriales |
|
Referencia |
Perfil de referencia utilizado para producir este trabajo. Sólo está presente cuando se ha utilizado un perfil de referencia |
|
Resolución |
Resolución de los datos de la imagen en este trabajo en unidades de 1/18 de pulgada. La resolución se almacena en los atributos «X» e «Y» |
Diccionario de la página META
Etiqueta |
Etiqueta |
Etiqueta |
Etiqueta |
Descripción |
Página |
Diccionario que contiene las siguientes palabras clave |
|||
Nombre |
Opcional Nombre de la página o baldosa |
|||
MediaSize |
Definición del tamaño del soporte que se va a utilizar. Atributos:
|
|||
TrayName |
Nombre de la bandeja que se va a utilizar |
|||
ContentRect |
El área de unión utilizada por la imagen en todas las páginas definidas en Unidad (1/18 pulgadas). Izquierda, Arriba, Derecha, Abajo en formato %f,%%f,% |
|||
Alimentar |
Método de alimentación a utilizar después de terminar la página. Valores: |
|||
Cortar |
Booleano que define si la máquina debe cortar el material después de la impresión/corte |
|||
Raster |
Diccionario que describe los datos rasterizados/de tono medio de esta página. El atributo «Archivo» contiene el nombre del archivo que contiene los datos de medios tonos formados en RTL. |
|||
Tamaño |
Dimensiones de los datos rasterizados/de tonos planos en píxeles. Almacenado en los atributos «Anchura» y «Altura» |
|||
Posición |
Posición de los datos de trama/tono medio en píxeles en relación con el área de imagen de la página. Almacenado en los atributos «X» e «Y» |
|||
Tintas |
Diccionario que describe las tintas por canal/plano. El atributo «Count» define el número de tintas en el diccionario |
|||
Tinta |
Descripción del canal de tinta. El atributo «Name» define el nombre del canal, el atributo «Dotsize» define los pesos de los puntos en el formato %f,%,… |
|||
Vector |
El atributo «Archivo» contiene el nombre del archivo que contiene los datos de corte HPGL/2. |
|||
Vista previa |
El atributo «Archivo» contiene el nombre del archivo que contiene la vista previa de la página. |
La implementación actual requiere que los archivos referenciados sigan la estructura del documento descrita anteriormente. Por lo tanto, se supone que los archivos tienen el mismo nombre base (nombre sin extensión) que el XML de la página y se supone que están junto al XML de la página.
Implementación de HP-RTL
Los siguientes comandos HP-RTL se respetan y son obligatorios:
-
Esc %0A : Iniciar HP/RTL en la posición actual
-
Esc *p x X : Define la posición izquierda de la trama en píxeles
-
Esc *p y Y : Define la posición superior de la trama en píxeles
-
Esc *r ancho S : Define el ancho de la trama en píxeles
-
Esc *r height T : Define la altura de la trama en píxeles
-
Esc *r- conteo de planos U : Define el número de planos / canales de color
-
Esc *b2M : Seleccione la compresión RLE
-
Esc *r0A : Inicio de datos rasterizados
-
Esc *b recuento de bytes V datos : Línea de datos por plano/canal RLE comprimido
-
Esc *b recuento de bytes W datos : Último plano/canal de datos de la línea actual
-
Esc *rC : Fin de los datos ráster
-
Esc %0B : Detener el modo HP-RTL Se ignoran los comandos HP-RTL que no aparecen en esta lista.
Aplicación de HPGL/2
Existen dos tipos de comandos de corte. Los conjuntos son mutuamente excluyentes. El primer conjunto es para manejar los trazadores de corte convencionales que suelen ser manejados por lenguajes como HPGL/2. El segundo conjunto sirve para definir la información del contorno para los sistemas de corte NC y de contorno como i-Cut.
Corte de bajo nivel
Las coordenadas utilizadas para X e Y se definen como ubicaciones absolutas en números enteros a la resolución de paso del plotter de corte.
Comando |
Parámetros |
Descripción |
EN |
Inicie. Comienza a cortar datos |
|
QL |
0 |
Nivel de calidad. Ajustar a 0 para el corte de bajo nivel |
SP |
pluma # |
Seleccione la pluma/herramienta. 1 = cuchillo. 2 = lápiz. |
PU |
Levantar la herramienta |
|
PD |
Bajar la herramienta |
|
PA |
X, Y |
Mover/dibujar/cortar la línea a una posición absoluta |
BS |
Inicio de una secuencia de segmentos de curva |
|
BE |
Fin de una secuencia de segmentos de curva |
|
PG |
Página de avance. Fin de los datos de corte de esta página |
Corte de alto nivel
Las coordenadas utilizadas para X e Y se definen como ubicaciones absolutas en números reales a 18 pasos por pulgada (=Unidad).
Comando |
Parámetros |
Descripción |
EN |
Inicie. Comienza a cortar datos |
|
QL |
100 |
Nivel de calidad. Ajustar a 100 para el corte de alto nivel |
SP |
pluma # |
Seleccione la pluma/herramienta. 1 = cuchillo. 2 = lápiz. |
PC |
número de bolígrafo, color |
Establece el color de la herramienta. Herramienta 1 = RGB, Herramienta 2 = CMYK. Valores de color en el rango 0-255. |
PU |
Levantar la herramienta |
|
PD |
Bajar la herramienta |
|
PA |
X, Y |
Mover/dibujar/cortar la línea a una posición absoluta |
BZ |
X1, Y1, X2, Y2, X3, Y3 |
Dibujar/cortar una curva bezier |
CO |
ID, Valor |
Pasa información privada específica del conductor. Tanto el ID como el valor son números enteros |
PG |
Página de avance. Fin de los datos de corte de esta página |
Formato de transmisión
El formato de streaming es un flujo TCP que empaqueta los archivos uno tras otro en la siguiente secuencia:
-
Trabajo XML
-
Página XML de la página 1
-
Datos RTL (si están presentes)
-
Datos del índice (si están presentes)
-
Datos HPGL/2 (si están presentes)
-
Vista previa
-
-
Página XML de la página 2
-
etc.
-
Cada archivo se envía como una secuencia de trozos. Los trozos permiten al emisor empezar a enviar sin tener que conocer el tamaño final. El último trozo de un archivo contiene un marcador EOF. Cada trozo sigue el siguiente formato en formato i386 (por lo que necesita intercambios en PowerPC):
Magia |
Uint32 |
0x4D455441 (‘META’) para comprobar la validez de la estructura del chunk |
Seq. |
Uint32 |
Número de secuencia del trozo. Empieza por 0. |
Tipo |
Uint32 |
|
Tamaño |
Uint32 |
Tamaño de los datos que siguen a este trozo |
Datos |
Si el tipo es 1 entonces el nombre del archivo. Un nombre vacío indica que el último archivo ha sido enviado. Si el tipo es 2 o 3 se envía la cantidad de datos especificada por Size. |