Búsqueda de objetos
El método Búsqueda objetos puede resultar especialmente útil cuando la región carece de bordes. La búsqueda de objetos escanea la región de búsqueda para encontrar una coordenada de dirección que tenga al menos un píxel que tenga otro color. Si este color es lo suficientemente diferente al color de fondo, entonces este píxel se contará como parte de un objeto. El objeto División cortará la región en fragmentos, en función del borde o los bordes del objeto que haya seleccionado. En caso de que sea necesario, estas líneas también se pueden ajustar. Si el método Búsqueda de objetos está configurado apropiadamente, también se puede usar para detectar huecos grandes entre líneas de texto.
Propiedades
La tabla siguiente resume las propiedades del método de búsqueda de objetos.
Propiedad | Descripción |
---|---|
Color de fondo | La propiedad Color de fondo determina el color de fondo de un documento PDF y acepta códigos de color, es decir valores hexadecimales. La opción predeterminada es #FFF, que indica el color blanco.
|
Tolerancia | La propiedad Tolerancia indica el porcentaje de desviación de color especificado en el parámetro Color de fondo. En este rango de tolerancia el color puede desviarse del color de fondo sin considerarse otra región. Si el color excede este porcentaje de tolerancia, el programa ya no lo identificará como fondo. Por ejemplo, el valor 100 significa que toda la región se trata como color de fondo.
|
Extensión mínima | La propiedad Extensión mínima especifica el tamaño mínimo de un objeto, por lo que todos los objetos más pequeños se omitirán.
|
Rellenar huecos | La propiedad Rellenar huecos determina el tamaño de un hueco que se cubre en la dirección de búsqueda. Es decir, si hay dos filas que no forman parte del fondo y están a esta o menor distancia, estas dos filas se consideran un único objeto.
|
Borde para buscar | La propiedad Borde para buscar especifica en qué borde de un objeto se dividirá, en cual está el inicio (Inicio), el final (Final) y el inicio y el final (Inicio y final) del objeto.
|
Desplazar | La propiedad Desplazar especifica un desplazamiento que se añadirá a la posición detectada de un objeto. Por lo general, el desplazamiento tiene un valor positivo, excepto cuando la propiedad Borde para buscar está configurada en Inicio; entonces el valor es negativo.
|
Para ver un ejemplo en el que se utiliza el método Búsqueda de objetos, consulte el ejemplo siguiente.
Ejemplo
Este ejemplo describe cómo configurar el método Búsqueda de objetos. La meta de este ejemplo es extraer datos de la factura de muestra (ver imagen siguiente).
La tabla ilustrada en la imagen anterior no contiene líneas de cuadrícula regulares, lo que dificulta la tarea de identificar posiciones de división correctas. Aparte, las celdas de la segunda columna (No) y de la tercera columna (Description) se superponen. Para poder dividir la tabla en filas correctamente, hemos seleccionado el método Búsqueda de objetos que hemos configurado de la siguiente forma:
•Las propiedades Color de fondo y Tolerancia tienen valores predeterminados (#FFF y 10%, respectivamente).
•La propiedad Extensión mínima se ha configurado en 4pt, lo que permite eliminar objetos que son más pequeños.
•La propiedad Rellenar huecos tiene el valor predeterminado (0pt) dado que en la tabla de muestra no hay huecos que se tendrían que rellenar.
•La propiedad Borde para buscar está configurada en Inicio, es decir que los objetos se dividirán en las ubicaciones donde empiezan.
•Por ensayo y error, hemos detectado el valor ideal de la propiedad Desplazar, que en este caso es -3pt. Debido a la configuración de este valor, las posiciones de división han subido un poco, lo que evita que los datos se truncarán.
•No se ha definido ninguna opción de posprocesamiento.
Región de búsqueda
Como no hay líneas coherentes en las que la tabla podría dividirse en filas, utilizamos la Región de búsqueda para identificar posiciones de división fiables, que luego se aplicarán a toda la región. En la imagen siguiente se puede ver que la Región contiene todas las filas de la tabla (ver área en amarillo claro). La Región representa un área que pretendemos dividir en diferentes partes. Sin embargo, la Región de búsqueda (rectángulo amarillo brillante de abajo) sólo cubre la primera columna de la tabla, donde la detección de objetos funciona de forma más fiable que en otras partes de la tabla.
Si no se usa ninguna Región de búsqueda, el objeto División identificará las posiciones de división ilustradas a continuación, lo que llevará a resultados erróneos en la salida.