Códigos de barras como marcas de ensobrado.
Las antiguas máquinas dobladoras y ensobradoras de papel
usaban sus propias marcas de ensobrado, esas líneas que se veían a menudo (y
todavía a veces las encontramos) en los bordes de nuestros documentos bancarios.
Las máquinas modernas leen códigos de barras estándar, lo
cual simplifica la codificación de las marcas, ya que todos los productos del
mercado pueden generar dichos códigos.
HP Exstream ofrece enormes posibilidades para configurar de
forma automática los trabajos de postproceso en alto volumen, desde la doble
cara hasta la impresión de varias páginas en una, pasando por las opciones de
ensobrado, inserción, etcétera. La verdad es que las posibilidades son tan
amplias que no me ha dado tiempo de hacer un ejemplo, como hubiera querido,
utilizando algunas de ellas, por ejemplo la doble cara automática y otras
interesantes, pero sí que he podido hacer un ejemplo sencillo de construcción
“a mano” de un código de barras útil para máquinas de ensobrado.
En el ejemplo que he creado, la impresión es a una sola
cara, por tanto hay marcas en todas las páginas (si la impresión es a doble
cara, las marcas van solo en las páginas impares y hay que asegurarse de que se
inserta una página en blanco al final cuando el número de páginas de un cliente
es impar). Se trata, por tanto, de construir un código de barras que cumpla las
especificaciones de la máquina ensobradora que lo va a interpretar.
Supongamos que dichas especificaciones son las siguientes:
-
El código debe situarse en la esquina superior
derecha de la página, inclinado 90º (legible por tanto de arriba abajo).
-
Debe empezar a una distancia entre 0,50 y 0,75
pulgadas del borde superior y entre 0,25 y 0,50 del borde derecho.
-
Debe tener un ancho mínimo de 0,25 pulgadas y
una longitud mínima de 1 pulgada y máxima de 1,50 pulgadas.
-
Debe estar codificado en Code-128 tipo A y
contener los siguientes caracteres:
o
Cuatro caracteres para el contador de hojas, que
empezará en 0 y aumentará en uno con cada página; si llega a 9999, la siguiente
página empezará desde 0 de nuevo.
o
Tres caracteres para posibles inserciones de
hojas en el sobre. Cada carácter valdrá 1 si hay que insertar la hoja
correspondiente, y 0 si no.
o
Un carácter para señalar cuándo se deben
ensobrar las hojas disponibles en ese momento. Valdrá 1 cuando haya que
ensobrar y 0 cuando no.
El último carácter, por tanto,
valdrá 1 para la última página de cada documento a cliente.
En cuanto a los insertos, por
nuestra parte solo vamos a usar 2 posibles insertos, por tanto el tercer
carácter de inserción valdrá siempre 0, pero hay que ponerlo igual para que la
ensobradora entienda el código correctamente. Nuestros dos insertos serán un
sobre de respuesta comercial, que se insertará para cada cliente, y una hoja de
publicidad, que irá solo a nuestros clientes más nuevos (los que tienen un
código de cliente superior a 200000).
Pondremos los valores
correspondientes a uno solo cuando se cumplan las condiciones expuestas y
además haya que ensobrar, para que la máquina, en el momento de doblar las
hojas del documento y antes de meterlas en el sobre, añada los insertos que
toquen.
HP Exstream proporciona diferentes
variables de número de páginas, algunas de las cuales vamos a utilizar:
-
SYS_PageTotalInRun:
Esta variable empieza en 1 y aumenta en 1 con cada página, y no se pone a cero
al cambiar de cliente, sino que sigue aumentando.
-
SYS_PagePrintEnd: Esta variable indica
en qué número de página termina el documento en cuestión. Por ejemplo, para un
documento de 5 páginas, valdrá siempre 5, aunque estemos en una página
anterior.
-
SYS_PageInDocument:
Esta variable indica en qué número de página estamos, dentro del documento.
Crearemos una
variable propia basada en SYS_PageTotalInRun,
teniendo en cuenta que tendremos que restarle 1 (ya que nuestro contador debe
empezar en 0) y restarle 10000 cuando pase de 9999. Esa variable formará los
cuatro primeros caracteres de nuestro código. Hay que definirla como “Fórmula”
y especificar que se compute en cada página. Su fórmula es la siguiente:
Value = SYS_PageTotalInRun – 1
Do While Value >= 10000
Value = Value – 1
Loop
Do While Value >= 10000
Value = Value – 1
Loop
(En realidad he
puesto 10 en lugar de 10000, para comprobar que salta a cero cuando corresopnde
sin tener que generar 10000 páginas).
Por otro lado,
cuando SYS_ PagePrintEnd y SYS_ PageInDocument sean iguales querrá
decir que estamos en la última página, por tanto pondremos a uno nuestros
caracteres octavo (ensobrado de hojas disponibles) y quinto (inserción de sobre
para respuesta comercial). La fórmula de la variable correspondiente es:
If SYS_PagePrintEnd = SYS_PageInDocument Then
Value = 1
Else
Value = 0
End If
Value = 1
Else
Value = 0
End If
Si además el
código de cliente es mayor que 200000, pondremos también a 1 el sexto carácter
(inserción de publicidad para nuevos clientes). El séptimo carácter permanecerá
siempre a cero. La fórmula:
If SYS_PagePrintEnd = SYS_PageInDocument Then
If Ensobrado_codigo > 200000 Then
Value = 1
Else
Value = 0
End If
Else
Value = 0
End If
If Ensobrado_codigo > 200000 Then
Value = 1
Else
Value = 0
End If
Else
Value = 0
End If
En la carpeta usuarios\jfblanco\Ensobrado hay un PDF
de ejemplo de salida, organizado por HP Exstream en clientes>documentos>páginas.
Hay cuatro clientes, cada uno con un documento. El documento del primer cliente
tiene 5 páginas, el del segundo 4, el del tercero 6 y el del cuarto 9 (veinte
páginas en total). Se muestran los valores intermedios que se han usado para
configurar el código de barras. Este aparece en su posición de lectura, inclinado,
cumpliendo las especificaciones de posición, altura y anchura, y sin caracteres
legibles. Para poder comprobar los valores, he puesto otro código de barras con
los mismos valores pero en horizontal y con caracteres legibles.
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.