Códigos de barras con suma de comprobación
Los códigos de barras de los tipos Code 39, Interleaved 2 of 5, Codabar y Matrix 2 of 5 pueden incluir una suma de comprobación. Las sumas de comprobación se utilizan para detectar errores. El algoritmo para calcular la suma de comprobación está definido por el estándar. Debe establecer la propiedad HasChecksum del objeto BarcodeParams en TRUE para que los códigos de barras con suma de comprobación se reconozcan correctamente.Códigos de barras PDF417, Aztec, Data Matrix, QR Code y MaxiCode
De forma predeterminada, ABBYY FineReader Engine reconoce los códigos de barras PDF417, Aztec, DataMatrix, QR Code y MaxiCode utilizando la página de códigos correspondiente a la especificación. Las páginas de códigos son las siguientes:- para PDF417 — DOS de Estados Unidos (437) (CP_US_MSDOS)
- para Aztec, DataMatrix, QR Code y MaxiCode — ISO Latin 1 (8859-1) (CP_Latin_ISO)
Códigos QR en modo Structured Append
Los Códigos QR pueden utilizarse para codificar una gran cantidad de datos combinando hasta 16 códigos en una secuencia con formato Structured Append. El objeto BarcodeBlock proporciona acceso a información específica sobre la secuencia Structured Append mediante las propiedades QrCodeSequenceId, QrCodeSequenceCount y QrCodeSequenceIndex, y puede usarlo en su programa para unir los códigos reconocidos.Datos binarios codificados en códigos de barras
Los códigos de barras PDF417, Aztec, DataMatrix y QR Code pueden codificar tanto texto como datos binarios. ABBYY FineReader Engine representa todos los datos reconocidos de códigos de barras, incluidos los datos binarios, como texto. La forma en que los datos binarios se representan como texto depende del valor de la propiedad ContainsBinaryData del objeto BarcodeParams:Valor de ContainsBinaryData | Representación de los datos binarios |
|---|---|
FALSE (valor predeterminado) |
El cero binario no puede convertirse correctamente en una cadena Unicode. El carácter correspondiente en la cadena será el símbolo de “carácter no reconocido” (”^”) y tendrá la propiedad IBarcodeSymbol::IsBinaryZero establecida en TRUE. |
TRUE |
|
El procedimiento de reconocimiento
Para reconocer códigos de barras que no se ajustan a la especificación o códigos de barras con sumas de comprobación, haga lo siguiente (suponemos que ya se ha cargado el perfil predefinido BarcodeRecognition_Accuracy o BarcodeRecognition_Speed):- Cree un objeto DocumentProcessingParams mediante el método CreateDocumentProcessingParams del objeto Engine.
- Cambie los valores predeterminados de las propiedades necesarias del subobjeto BarcodeParams (DocumentProcessingParams contiene una propiedad PageProcessingParams, que contiene PageAnalysisParams, que a su vez incluye BarcodeParams).
- Pase el objeto DocumentProcessingParams al método Process del objeto FRDocument como parámetro de entrada.
- Si utiliza otros métodos de procesamiento, es posible que requieran un objeto PageAnalysisParams o un objeto PageProcessingParams como parámetros de entrada. Siga el mismo procedimiento y cambie los valores del subobjeto BarcodeParams de uno de estos objetos.
Ejemplos de código
Código C++
Código C++
Código C++ (COM)
Código C++ (COM)
Código C#
Código C#
Consejos para trabajar con códigos de barras
La calidad del reconocimiento de códigos de barras depende de la calidad de impresión del código y de la configuración utilizada durante el proceso de escaneado del documento. Para que los códigos de barras se reconozcan correctamente, siga estas recomendaciones:- Un código de barras debe estar separado de cualquier otro texto por un espacio en blanco bastante amplio.
- El tamaño del código de barras y el ancho de cada una de sus barras o puntos deben cumplir los siguientes requisitos:
- La altura óptima del código de barras es superior a 10 milímetros. El tamaño de un código de barras debe ser inferior al tamaño A4.
- La altura del código de barras debe ser superior al doble de la altura de una línea de texto.
- En los códigos de barras no cuadrados, la longitud debe ser mayor que la altura.
- En los códigos de barras 1D, el ancho de la barra más fina debe ser de al menos 3-5 píxeles de la imagen.
- En los códigos de barras 2D, las dimensiones de sus celdas deben ser de al menos 2x2 píxeles; el tamaño recomendado es de 4x4 píxeles o más. Además, en todos los códigos de barras 2D excepto PDF417, las celdas deben ser cuadradas porque, si el código de barras 2D está estirado, lo más probable es que se reconozca incorrectamente.
- No recomendamos comprimir imágenes de códigos de barras con compresión JPEG, ya que esto hace que los bordes se vean borrosos.
- No recomendamos inclinar los códigos de barras; es decir, el ángulo del código de barras debe ser un múltiplo de 90 grados con respecto al eje horizontal.
- El modo de escaneado en escala de grises es el mejor para fines de Reconocimiento óptico de caracteres (OCR). Al escanear en blanco y negro, ajuste la configuración de brillo. Si el código de barras aparece “cortado” o es muy claro, reduzca el brillo para oscurecer la imagen. Si el código de barras está distorsionado o sus partes aparecen pegadas entre sí, aumente el brillo para aclarar la imagen.
- Evite imprimir códigos de barras dentro de marcos.
- Evite imprimir códigos de barras sobre texto o imágenes.
