Recientemente lanzamos un libro electrónico sobre todo lo relacionado con PDF, y nuestro experto en PDF con más de 20 años de experiencia con Adobe Systems nos ayudó a responder muchas preguntas. No dude en descargar el libro electrónico aquí http://register.snowbound.com/LP… o visite nuestro sitio web Imaging SDK y Imaging Software
Esta parte toca la búsqueda de texto pero se centra en la extracción de texto, sin embargo, la capacidad de extraer texto y buscar texto está estrechamente vinculada.
¿Cómo se extrae el texto de un PDF?
Los usuarios finales no suelen pensar en “extraer texto”. En todo caso, un usuario espera poder elegir la herramienta de selección de texto, luego haga clic y arrastre sobre algún texto para seleccionarlo. A partir de ahí, un usuario está acostumbrado a hacer clic en Editar / Copiar o Ctrl-C para copiar la selección en el portapapeles, momento en el cual es posible hacer varias cosas. En el peor de los casos, no se resalta nada o la herramienta de selección de texto no está habilitada. En este caso, lo más probable es que el usuario esté mirando el texto escaneado. El texto escaneado es solo una imagen y, a menos que la imagen haya sido OCR, no hay texto para buscar. También es posible que el usuario esté mirando los contornos del texto, pero no hay texto seleccionable. Si hay texto resaltado en la pantalla, los resultados de copiar ese texto en el portapapeles también pueden variar. La mayoría de las veces, el texto que se ve en la pantalla termina correctamente en el portapapeles y es adecuado para pegarlo en otra aplicación.
- ¿Cómo se puede convertir un archivo PDF en un archivo autocad?
- ¿Cuáles son las mejores herramientas de anotación de PDF en Ubuntu Linux?
- ¿Cuál es una buena alternativa gratuita a Adobe Acrobat en Windows para crear un PDF editable?
- Cómo hacer que un archivo PDF pueda buscarse
- ¿Puedo guardar páginas específicas de un archivo PDF en un nuevo archivo PDF?
Hay otra función que implica la extracción de texto que no es tan obvia. Cuando un usuario invoca la función de búsqueda o búsqueda de Acrobat Reader, se ejerce un código similar dentro de Acrobat.
Hacer coincidir cadenas de búsqueda de destino y copiar texto son tareas relativamente difíciles, aunque esta funcionalidad a menudo se da por sentada.
Esto hace que extraer texto sea una propuesta difícil. Exploremos cómo se representa el texto en PDF para comprender mejor por qué la extracción de texto no es trivial.
Secuencias de texto no reconocidas
Hay cuatro textos que muestran operadores en PDF. El operador Tj es el más simple. Se supone que se ha establecido la posición actual y que hay una fuente en un tamaño particular establecido en el estado de gráficos. También hay un color actual. Cuando se ve el operador Tj, el analizador de PDF espera encontrar una cadena, una secuencia de caracteres que se representará en el punto actual de la página. Dependiendo de cuál sea la fuente actual, los valores de cada carácter se interpretan de una forma u otra. En pocas palabras, los valores se utilizan como búsquedas en las tablas dentro de la fuente. En cada punto de entrada hay un programa corto que describe una ruta que se dibujará y luego se rellenará con el color actual. El productor del archivo PDF garantiza que los valores en la cadena que procesa Tj tendrán sentido para la fuente de origen. Debido a que el formato PDF permite mucha flexibilidad para las fuentes, la ruta exacta que toma el renderizador puede variar. Por ejemplo, el archivo PDF solo puede contener el nombre de la fuente, junto con suficientes métricas para que la aplicación de visualización de PDF encuentre una coincidencia adecuada. Esta información también proporcionará detalles sobre qué codificación se utilizó en las cadenas Tj. En algunos archivos PDF, la fuente completa puede estar incrustada en el archivo o el archivo puede contener una versión de subconjunto incrustado de la fuente. Cuando los valores en las cadenas Tj no parecen cadenas legibles, generalmente hay una tabla ToUnicode en la fuente que proporciona una asignación de estos valores a Unicode. El código de extracción de texto consulta esta tabla para obtener los resultados correctos.
Donde esta el espacio
En algunos formatos de archivo, el carácter de espacio se usa para separar palabras (u otras secuencias de caracteres que no son de espacio). Esto puede suceder en PDF, pero no es necesario. ¿Cómo es esto posible? El operador Tj es otro operador que muestra texto. Se necesita una variedad de pares de artículos. Cada par consta de una cadena, luego un número entero. La cadena contiene el texto y el número entero proporciona la cantidad para mover el punto actual antes de representar el siguiente carácter. Esto permite ajustar el espacio entre caracteres y también se puede utilizar para proporcionar un espacio virtual entre palabras.
Filtrado de puntuación
Cuando el software de extracción de texto procesa las cadenas de texto en un archivo, encontrará apóstrofes, guiones y guiones, así como comas, punto y coma, dos puntos, paréntesis, etc. Esta información puede o no importar dependiendo de qué texto se esté utilizando. usado para. Reconocer estos glifos y manejarlos correctamente agrega un poco más de complejidad al proceso.
Glifos y Ligaduras
Algunos de los glifos en una fuente representan más de un carácter. Históricamente, esto se hizo para facilitar la lectura. Si alguna vez has mirado de cerca palabras como “eficiente” o “pez”, es posible que hayas notado que los dos caracteres f estaban realmente unidos. De manera similar, la secuencia “fi” podría representarse como un solo personaje. Estos se llaman ligaduras. El software de extracción de texto debe ser capaz de reconocer las ligaduras y expandirlas en consecuencia. (Técnicamente hablando, el carácter “&” se compone de las letras “e” y “t”, aunque no lo consideramos una ligadura, solo abreviatura de “y”). Esto es más pronunciado en algunas fuentes que en otras.
El texto en PDF se puede presentar de muchas maneras. Esta flexibilidad proporciona un control significativo sobre dónde se colocarán los caracteres en una página, uno con respecto al otro u otros gráficos en la página. El texto extraído con el fin de realizar una búsqueda en una aplicación de visualización de PDF es ligeramente diferente del texto extraído con el fin de copiarlo al portapapeles. Lo más probable es que lo primero se haga para buscar una cadena de destino, mientras que lo segundo quiere incluir todo el texto visible sin mucho filtrado.
Hay una cantidad finita de formas para que una aplicación de software determinada emita texto, pero a medida que crece la cantidad de aplicaciones, esto aumenta la cantidad de formas en que se puede emitir texto. Y todo esto hace que la tarea de extracción de texto sea una propuesta difícil sin soluciones fáciles.