
PDF417 es un formato de código de barras lineal apilado que se utiliza en diversas aplicaciones, como transporte, tarjetas de identificación y gestión de inventario. "PDF" significa Archivo de datos portátil. El "417" significa que cada patrón del código consta de 4 barras y espacios en un patrón de 17 unidades (módulos) de longitud. La simbología PDF417 fue inventada por el Dr. Ynjiun P. Wang en Symbol Technologies en 1991. [1] Está definida en la norma ISO 15438 .
Aplicaciones
PDF417 se utiliza en muchas aplicaciones tanto por organizaciones comerciales como gubernamentales. PDF417 es uno de los formatos (junto con Data Matrix ) que se pueden utilizar para imprimir franqueo aceptado por el Servicio Postal de los Estados Unidos . PDF417 también es utilizado por el estándar de la industria de las aerolíneas Bar Coded Boarding Pass ( BCBP ) como el simbolismo de código de barras 2D para tarjetas de embarque de papel. PDF417 es el estándar seleccionado por el Departamento de Seguridad Nacional como la tecnología de zona legible por máquina para licencias de conducir compatibles con RealID y tarjetas de identificación emitidas por el estado. Los códigos de barras PDF417 también se incluyen en visas y tarjetas de cruce fronterizo emitidas por el Estado de Israel ( ejemplo ).
Características
Además de las características típicas de los códigos de barras bidimensionales, las capacidades de PDF417 incluyen:
- Vinculación. Los símbolos PDF417 pueden vincularse a otros símbolos que se escanean en secuencia, lo que permite almacenar aún más datos.
- Dimensiones especificadas por el usuario. El usuario puede decidir el ancho de la barra vertical más angosta (dimensión X) y la altura de las filas (dimensión Y).
- Formato de dominio público. Cualquiera puede implementar sistemas utilizando este formato sin necesidad de licencia . [2] [3]
La introducción del documento ISO/IEC establece: [2]
- Los fabricantes de equipos de codificación de barras y los usuarios de tecnología de codificación de barras requieren especificaciones de simbología estándar disponibles públicamente a las que puedan recurrir al desarrollar estándares de equipos y aplicaciones. La intención y el entendimiento de ISO/IEC es que la simbología presentada en esta Norma Internacional sea completamente de dominio público y libre de todas las restricciones, licencias y tarifas de usuario.
Formato

El código de barras PDF417 (también llamado símbolo ) consta de entre 3 y 90 filas, cada una de las cuales es como un pequeño código de barras lineal. Cada fila tiene:
- una zona tranquila . Se trata de una cantidad mínima obligatoria de espacio en blanco antes de que comience el código de barras.
- un patrón de inicio que identifica el formato como PDF417.
- una palabra clave "fila izquierda" que contiene información sobre la fila (como el número de fila y el nivel de corrección de errores)
- 1–30 palabras de código de datos : las palabras de código son un grupo de barras y espacios que representan uno o más números, letras u otros símbolos.
- una palabra clave "fila derecha" con más información sobre la fila.
- un patrón de parada.
- Otra zona tranquila.
Todas las filas tienen el mismo ancho; cada fila tiene el mismo número de palabras de código.
Palabras clave
PDF417 utiliza una codificación base 929. Cada palabra de código representa un número del 0 al 928.
Las palabras clave están representadas por patrones de regiones oscuras (barras) y claras (espacio). Cada uno de estos patrones contiene cuatro barras y cuatro espacios (de ahí el 4 del nombre). El ancho total es 17 veces el ancho de la barra vertical más estrecha permitida (la dimensión X); de ahí viene el 17 del nombre. Cada patrón comienza con una barra y termina con un espacio.
La altura de la fila debe ser al menos 3 veces el ancho mínimo: Y ≥ 3 X. [2] : 5.8.2
Existen tres patrones de barra-espacio distintos que se utilizan para representar cada palabra de código. Estos patrones se organizan en tres grupos conocidos como clústeres . Los clústeres se etiquetan como 0, 3 y 6. Ningún patrón de barra-espacio se utiliza en más de un clúster. Las filas del símbolo recorren los tres clústeres, de modo que la fila 1 utiliza patrones del clúster 0, la fila 2 utiliza el clúster 3, la fila 3 utiliza el clúster 6 y la fila 4 utiliza nuevamente el clúster 0.
¿Qué grupo se puede determinar mediante una ecuación: [2] : 5.3.1
Donde K es el número de grupo y b i se refiere al ancho de la i -ésima barra negra en el carácter del símbolo (en X unidades).
Alternativamente, [2] : 76–78
Donde E i es la distancia del borde i al siguiente borde del mismo borde. Los índices impares son para el borde anterior de una barra hasta el borde anterior de la siguiente barra; los índices pares son para los bordes posteriores.
Un propósito de los tres grupos es determinar en qué fila (mod 3) se encuentra la palabra clave. Los grupos permiten que se lean partes del símbolo usando una sola línea de escaneo que puede estar sesgada con respecto a la horizontal. [2] : 5.11.1 Por ejemplo, el escaneo podría comenzar en la fila 6 al comienzo de la fila, pero terminar en la fila 10. Al comienzo del escaneo, el escáner ve el patrón de inicio constante y luego ve símbolos en el grupo 6. Cuando el escaneo sesgado se extiende a lo largo de las filas 6 y 7, entonces el escáner ve ruido. Cuando el escaneo está en la fila 7, el escáner ve símbolos en el grupo 0. En consecuencia, el escáner conoce la dirección del sesgo. Para cuando el escáner llega a la derecha, está en la fila 10, por lo que ve patrones del grupo 0. El escáner también verá un patrón de parada constante.
Codificación
De las 929 palabras de código disponibles, 900 se utilizan para datos y 29 para funciones especiales, como el cambio entre modos principales. Los tres modos principales codifican distintos tipos de datos de distintas maneras y se pueden combinar según sea necesario dentro de un único código de barras:
- Byte : cada grupo de 5 palabras de código representa 6 bytes. (Porque 900 5 > 256 6 ). Los bytes adicionales se codifican uno por palabra de código.
- Numérico : n dígitos se codifican en ⌊ n /3 ⌋ +1 palabras de código, hasta un máximo de 44 dígitos en 15 palabras de código.
- Texto : Cada palabra de código representa dos dígitos base 30, que son utilizados por un sistema de cuatro submodos para representar los caracteres ASCII imprimibles (más CR , LF y HT ):
- Mayúsculas: A–Z, SP , Cambiar a minúsculas, Cambiar a mixtas, Interpretar el siguiente dígito como puntuación
- Minúsculas: a–z, SP, Interpretar el siguiente dígito como mayúscula, Cambiar a mixto, Interpretar el siguiente dígito como puntuación
- Mixto: 0–9, &, CR, HT, coma, :, #, -, punto, $, /, +, %, *, =, ^, Cambiar a puntuación, SP, Cambiar a minúsculas, Cambiar a mayúsculas, Interpretar el siguiente dígito como puntuación
- Puntuación: ;, <, >, @, [, \, ], _, `, ~, !, CR, HT, coma, :, LF, -, punto, $, /, ", |, *, (, ), ?, {, }, ', Cambiar a mayúsculas
Corrección de errores
Cuando se crea el símbolo PDF417, se agregan de 2 a 512 palabras clave de detección y corrección de errores. PDF417 utiliza la corrección de errores Reed-Solomon . Cuando se escanea el símbolo, la cantidad máxima de correcciones que se pueden realizar es igual a la cantidad de palabras clave agregadas, pero el estándar recomienda que se retengan dos palabras clave para garantizar la confiabilidad de la información corregida.
Comparación con otras simbologías
PDF417 es un código de barras apilado que se puede leer con un simple escaneo lineal que se pasa sobre el símbolo. [4] Esos escaneos lineales necesitan las columnas izquierda y derecha con las palabras de código de inicio y fin. Además, el escáner necesita saber qué fila está escaneando, por lo que cada fila del símbolo también debe codificar su número de fila. Además, el escaneo lineal del lector no escaneará solo una fila; normalmente comenzará escaneando una fila, pero luego cruzará a una vecina y posiblemente continuará cruzando filas sucesivas. Para minimizar el efecto de estos cruces, los módulos PDF417 son altos y estrechos: la altura suele ser tres veces el ancho. Además, cada palabra de código debe indicar a qué fila pertenece para que se puedan detectar los cruces, cuando ocurren. Las palabras de código también están diseñadas para ser decodificables delta, por lo que algunas palabras de código son redundantes. Cada palabra de código de datos PDF representa aproximadamente 10 bits de información (log 2 (900) ≈ 9,8), pero la palabra de código impresa (carácter) tiene 17 módulos de ancho. Si se incluye una altura de 3 módulos, una palabra de código PDF417 ocupa 51 módulos cuadrados para representar 10 bits. Esa área no incluye otros datos generales como inicio, fin, fila, formato y ECC.
Otros códigos 2D, como DataMatrix y QR , se decodifican con sensores de imagen en lugar de escaneos lineales no coordinados. Esos códigos aún necesitan patrones de reconocimiento y alineación, pero no necesitan ser tan prominentes. Una palabra de código de 8 bits ocupará 8 módulos cuadrados (sin tener en cuenta la información de reconocimiento, alineación, formato y ECC).
En la práctica, un símbolo PDF417 ocupa aproximadamente cuatro veces el área de un DataMatrix o un código QR. [5]
Referencias
- ^ US 5243655, Wang, Ynjiun P., "Sistema para codificar y decodificar datos en formato gráfico legible por máquina", publicado el 7 de septiembre de 1993. Patente PDF417.
- ^ abcdef ISO/IEC (2006), Tecnología de la información – Técnicas de identificación automática y captura de datos – Especificación de simbología de código de barras PDF417 (PDF) (segunda edición), ISO/IEC 15438:2006(E), archivado desde el original (PDF) el 2011-04-09 , consultado el 2011-09-16
- ^ ISO/IEC (2015), Tecnología de la información – Técnicas de identificación automática y captura de datos – Especificación de simbología de código de barras PDF417 (tercera edición), ISO/IEC 15438:2006(E)
- ^ Por ejemplo, la serie LS-4000 de Symbol Technologies.
- ^ Uso de códigos de barras en documentos: mejores prácticas (PDF) , Tampa, FL: Accusoft, 2007, archivado desde el original (PDF) el 24 de mayo de 2012 , consultado el 9 de mayo de 2012
Enlaces externos
- Descripción PDF417
- Fuente gratuita, codificador de Windows y explicación detallada
- Generador de código de barras PDF417
- Decodificador en línea ZXing PDF417
- Decodificador en línea PDF417