PDFFREDocumentToImage

Convierte un archivo PDF en formato TIFF.

Miembro del espacio de nombres

Convertir

Sintaxis


bool PDFFREDocumentToImage (serie resolution, serie compressionBW, serie compressionColor, serie compressionGray, serie extensionBW, serie extensionColor, serie extensionGray, serie convertMode, serie useFastBinarization, serie jpegQuality)

Parámetros

Se admiten parámetros Smart.

resolution
La resolución de imágenes extraídas. Los valores válidos son 50 – 3200 puntos por pulgada.
compressionBW
La compresión de las páginas en blanco y negro extraídas en el PDF de origen. Para obtener más información sobre los tipos válidos, consulte el apartado Tipos de compresión de imagen de PDF.
compressionColor
La compresión de páginas en color extraídas en el PDF de origen. Para obtener más información sobre los tipos válidos, consulte Tipos de compresión de imagen de PDF.
compressionGray
La compresión de páginas en escala de grises extraídas en el PDF de origen. Para obtener más información sobre los tipos válidos, consulte Tipos de compresión de imagen de PDF.
extensionBW
La extensión de archivo de las páginas en blanco y negro extraídas en el PDF de origen.
extensionColor
La extensión de archivo de las páginas en color extraídas en el PDF de origen.
extensionGray
La extensión de archivo a utilizar para las páginas en escala de grises extraídas del PDF de origen.
convertMode
Se utiliza para establecer la modalidad de conversión. A continuación, se indican los valores posibles:
0 Conservar color.
1 Convertir todas las imágenes en blanco y negro.
useFastBinarization
Este valor es relevante cuando establece convertMode en 1. Hace que la función de conversión utilice un algoritmo de binarización más rápido para convertir páginas en blanco y negro durante la extracción. Los valores válidos son True y False. Se admiten parámetros Smart.
jpegQuality
La calidad de las imágenes en color que se extraen con la compresión JPEG. Los niveles válidos son 0 – 100. Cuanto más alto es el valor, más alta es la calidad.

Si el documento es un documento de texto que se utilizará para el reconocimiento, seleccione una compresión sin pérdida como FAX para imágenes en blanco y negro o LZW para imágenes en color o en escala de grises. No utilice una compresión con pérdidas como JPEG para documentos de texto. JPEG está pensado para imágenes fotográficas. El uso de una compresión con pérdidas en cualquier paso del proceso para un documento de texto hará que los bordes de los caracteres con bordes marcados se vuelvan difusos, lo que reducirá la precisión del reconocimiento.

Devuelve

True si el archivo se convierte correctamente en un documento TIFF. False si la página actual no es un tipo de imagen soportado o si se produce un fallo en la conversión. Si el número de páginas/archivos de entrada supera el máximo permitido o si hay un fallo en la conversión, el lote se establece en terminar anormalmente.

Nivel

Nivel de página o de documento.

Si se invoca sobre un objeto de nivel de página, cada nuevo archivo TIF de una sola página creado a partir de un PDF de origen se asociará con un nuevo objeto de página DCO que está al mismo nivel que la página DCO padre desde la que se ha creado la página.

Si se invoca desde un objeto de nivel de documento, cada nuevo archivo TIF de una sola página se asociará con un nuevo objeto de página DCO que es una página hija del objeto del documento padre.

Por ejemplo, si el PDF está asociado con un objeto de página, la estructura de DCO se creará como este ejemplo:
 ˂page "Other"˃ TM000001.pdf (source page object)
˂page "Other"˃ TM000002.tif (new page object, page 1 of TM000001.pdf)
˂page "Other"˃ TM000003.tif (new page object, page 2 of TM000001.pdf)
˂page "Other"˃ TM000004.tif (new page object, page 3 of TM000001.pdf)
˂page "Other"˃ TM000005.tif (new page object, page 4 of TM000001.pdf)
Si el PDF está asociado con un objeto de documento, la estructura de DCO se creará como este ejemplo:
˂Document "Invoice"˃ TM000001.pdf (source document object)
- ˂page "Other"˃ TM000002.tif (new page object, page 1 of TM000001.pdf)
- ˂page "Other"˃ TM000003.tif (new page object, page 2 of TM000001.pdf)
- ˂page "Other"˃ TM000004.tif (new page object, page 3 of TM000001.pdf)
- ˂page "Other"˃ TM000005.tif (new page object, page 4 of TM000001.pdf)

Detalles

Si la página actual es un PDF, el archivo se convierte en varios archivos TIFF, un archivo TIFF para cada página dentro del documento.

Para reconocer el documento durante la conversión, se recomienda que la acción se haya configurado para crear un archivo de diseño. Si un archivo de diseño no está habilitado y si el documento PDF contiene texto en el que se puede buscar, también se crea un archivo CCO que contiene las posiciones y el texto para cada página del documento. Normalmente, la calidad del texto es mejor cuando se realiza el reconocimiento.

Nota: Si no se crea un archivo de diseño, si no que simplemente se extrae el texto incluido en PDF a un CCO, se debe llamar a la acción NormalizeCCO de la biblioteca de acciones SharedRecognitionTools en un conjunto de reglas posterior para garantizar la integridad del archivo CCO. También es necesario si la aplicación va a utilizar las acciones de coincidencia de patrón y navegación para encontrar el texto reconocido en una página o realizar una coincidencia de patrón.

Cada nuevo TIFF también tendrá un nuevo nodo de página DCO creado dentro del entorno de aplicación que pueden procesar reglas posteriores. El nombre de archivo original desde el que se extrae la página se almacenará en la variable "ParentImage", para una posible referencia futura dentro de la aplicación.

Para impedir la creación de un CCO y para ignorar el texto de búsqueda dentro de un PDF, habilite convPdfIgnoreContent estableciendo la variable en "1" en el DCO de página antes de invocar PDFDocumentToImage. Cuando y_createLayout se establece en "1", se habilita convPdfIgnoreContent automáticamente.

Se recomienda desactivar la característica de creación de archivo CCO en el caso en el que es poco probable que la aplicación pueda procesar documentos PDF en los que se puedan hacer búsquedas, o en el caso en que se realice OCR de página completa o a nivel de campo, con posterioridad, directamente en las imágenes recién creadas, o cuando el texto no sea necesario.

Reconocimiento y creación de un archivo de diseño:

Esta acción ejecuta el reconocimiento además de la extracción de texto. Antes de invocar esta acción, habilite esta funcionalidad estableciendo la variable DCO y_createLayout en "1". De forma predeterminada, esta característica está desactivada.

Cuando esta opción está activada, se crea un archivo XML de diseño (por ejemplo, tm000001_layout.xml) por cada imagen que se extrae.

Nota: Cuando y_createLayout está habilitado, no se crea un archivo CCO de forma predeterminada. Utilice la acción CreateCcoFromLayout en la biblioteca SharedRecognitionTools en cada página recién creada para convertir cada XML de diseño en un CCO para permitir que otras acciones de CCO operen en el texto, como acciones Locate o clic-n-key en un panel de verificación.

El archivo de diseño agrupa texto en bloques como una persona miraría el documento. Cada bloque puede tener el tipo de bloque predeterminado o un tipo específico como título o tabla. Las acciones Locate están disponibles en la biblioteca de acción DocumentAnalytics para navegar en la estructura de bloque como GoSiblingBlockNext. Mientras el archivo CCO, generado por otras acciones, agrupa texto y líneas que abarcan el ancho de la página.

El archivo XML de diseño también retiene los atributos de fuente y color, que se guardan en formato CSS, para el texto, que se utiliza para extraer datos y reconstruir el documento en un formato nuevo.

El CCO es una estructura interna que Datacap utiliza para trabajar con texto. El CCO contiene todo el texto y las posiciones de cada carácter reconocido. Permite acciones relacionadas con texto, como las acciones Locate y la verificación clic-n-key, para operar.

Mediante las reglas asociadas a las páginas de creación, invoque la acción Counterrevolutionary para crear un archivo CCO para cada página que utilice el texto reconocido previamente y guardado en el archivo de diseño y, de este modo, se creará y cargará el CCO. Se debe llamar a CreateCcoFromLayout en una regla aparte de PFFREDocumentToImage y esa regla tendrá que ejecutarse en cada uno de los objetos de página recién creados.

El archivo de diseño contiene los resultados del reconocimiento. Se utilizan algoritmos heurísticos para identificar los elementos de texto de la página. Los elementos detectados pueden ser diferentes en las páginas que parecen similares o utilizan el mismo formulario. No se puede garantizar que siempre exista o se pueda reconocer un elemento concreto.

A continuación, se muestran los tipos de elementos (en el formato Tipo de bloque/Nodo XML ) que pueden estar presentes en el archivo XML de diseño:
  • Bloque/Bloque
  • Cabecera/Cabecera
  • Pie de página/Pie de página
  • Título/Título
  • Cabecera1/C1
  • Cabecera2/C2
  • Cabecera3/C3
  • Imagen/Imagen
  • Código de barras/Código de barras
  • Espacio/E
  • Pestaña/Pestaña
  • Tabla/Tabla
  • Fila/Fila
  • Celda/Celda
  • Párrafo/Pár
  • Línea/L
  • Frase/Frase
  • Palabra/P
  • Carácter/C
Extracción de texto frente a reconocimiento de texto

De forma predeterminada, el texto incluido en el XML de diseño se obtiene de una combinación de reconocimiento automático que se ejecuta en cada página del PDF y desde el texto de búsqueda que está incluido dentro del PDF. Cualquier imagen incluida en la página que contiene letras, como páginas de texto escaneadas que no tienen texto integrado, tendrá el texto reconocido por el motor y se añadirá al texto final reconocido. Esta es la modalidad de reconocimiento más completa y recomendada.

Si las áreas de la página contienen una imagen y texto que permite realizar búsquedas que está asociado a la imagen, el motor decide si debe utilizar ese texto o reconocer el texto de la imagen coincidente. Puesto que el motor realiza el reconocimiento, la confianza del texto puede variar aunque se incluya el mismo texto de búsqueda en el PDF.

La variable y_contentReuseMode se puede utilizar para forzar al motor a utilizar únicamente el texto reconocido en la página o a utilizar únicamente el texto incluido en la página. Una razón por la que puede decidir utilizar únicamente el texto incluido es para impedir el reconocimiento y generar resultados de alta confianza.

Un inconveniente de utilizar solo texto incluido es que si el texto incluido es incorrecto o no está completo, no se realiza el reconocimiento para capturar esos datos que faltan. El XML de diseño resultante que se crea está incompleto comparado con lo que ve el usuario cuando este visualiza el PDF. No utilice este valor si el archivo PDF de origen es del tipo imagen en texto porque, en este caso, la capa de texto no se extrae. Si una línea de texto contiene caracteres que no están incluidos en el alfabeto de los idiomas de reconocimiento seleccionados, este texto no se escribe en el resultado. Se deben utilizar las modalidades 0 o 1.

Estos valores de y_contentReuseMode se pueden establecer en el nodo DCO que se está convirtiendo:
  • rrSet("0", "@X.y_contentReuseMode") - La modalidad automática predeterminada que utiliza una combinación de texto incluido y de reconocimiento.
  • rrSet("1", "@X.y_contentReuseMode") - Se utiliza solo el reconocimiento para crear el XML de diseño.
  • rrSet("2", "@X.y_contentReuseMode") - Se utiliza solo texto incluido para crear el XML de diseño.
    Nota: Establezca la variable y_correctSkewMode en 0 cuando establezca y_contentReuseMode=2. Esto evita cambiar las coordenadas de los PDF nacidos digitalmente.

Para obtener más información sobre la configuración del idioma de reconocimiento, consulte la acción de OCR_A, Recognize (en desuso).

Reconociendo el PDF frente al reconocimiento de la nueva imagen: Elegir el mejor enfoque

Al habilitar la creación de un archivo de diseño, el motor reconocerá directamente el PDF al mismo tiempo que crea una imagen TIF para cada página en el PDF. Para los PDF que contienen todo el texto de máquina imprimible generado directamente desde las aplicaciones de tipo de oficina, como un procesador de texto, ésta puede ser una buena solución. Los archivos PDF directamente generados a partir de orígenes electrónicos suelen tener texto limpio impreso directamente por máquina, que es directamente legible si necesidad de mejoras adicionales.

Para los PDF que tienen un origen variado y contienen digitalizaciones de formularios o de otros documentos que se han recopilado y convertido en un PDF, normalmente es mejor opción convertir el PDF en imágenes y realizar el reconocimiento directamente en las imágenes de página recién generadas. Este enfoque tiene la ventaja de que los documentos se pueden manipular antes del reconocimiento. Se pueden realizar mejoras de imagen para enderezar el texto, eliminar líneas, limpiar el fondo, etc. Una vez que se ha mejorado la calidad de imagen, se puede realizar el reconocimiento, lo que proporciona mejores resultados de reconocimiento en comparación con reconocer directamente el PDF tal cual ha llegado. A menudo, el hecho de alinear un documento (corregir la inclinación) proporcionará una mejora significativa al texto reconocido. La prueba de diferentes opciones le puede ayudar a encontrar el mejor enfoque para los documentos.

Conversión de PDF a TIF sin reconocimiento

Convertir el PDF en TIF sin realizar el reconocimiento o extracción es la forma más rápida de convertir el PDF. Este es también el método recomendado si el reconocimiento se lleva a cabo en un conjunto de reglas siguiente con acciones posteriores. Por ejemplo, si el PDF contiene imágenes escaneadas, lo mejor es convertir primero el PDF y, a continuación, utilizar el conjunto de reglas de mejora de imagen para ajustar las imágenes. Para convertir sin ningún reconocimiento o extracción, establezca las variables "convPdfIgnoreContent" en "1" e y_createLayout en "0" en el mismo nodo DCO que se adjunta a la acción PDFFREDocumentToImage. Estas variables se pueden colocar en el DCO de configuración o se pueden establecer utilizando la acción rrSet en tiempo de ejecución. Si se quiere establecer siempre estas variables, es más eficaz colocarlas en el DCO de configuración en Datacap Studio y, a continuación, utilizar rrSet en tiempo de ejecución.

A continuación, se muestra cómo establecer estas variables en tiempo de ejecución:
rrSet("1","@X.convPdfIgnoreContent")
rrSet("0","@X.y_createLayout")
Consideraciones

Si es necesario el reconocimiento de campos, éste se debe realizar sobre las imágenes TIF creadas. El reconocimiento de campos no se puede realizar directamente en un PDF. Si es necesario guardar y archivar las imágenes originales o el PDF original al final del lote, dichos originales aún estarán disponibles al final del proceso por lotes. Se recomienda encarecidamente consultar el documento "Métodos recomendados para el reconocimiento de texto óptimo en IBM Datacap" para descubrir cómo obtener los mejores resultados del reconocimiento.

Incluyendo anotaciones PDF

De forma predeterminada, las anotaciones de texto incluidas en el archivo PDF de origen no se incluyen en la imagen de salida. Las anotaciones "Texto libre" del PDF de origen se pueden incluir en la imagen de salida estableciendo la variable DCO de página y_IncludeAnnotation en "1". No se admiten otros tipos de anotaciones PDF, como anotaciones emergentes o en tinta. Esta característica no hace que se visualice el texto de una "Nota adhesiva" en la imagen y se puede visualizar un icono de nota adhesiva en la imagen final independientemente de su valor.

Alineación de página

La alineación de una imagen realizará una ligera rotación de la imagen para corregir el texto inclinado. Una imagen que esté alineada permitirá un mejor reconocimiento y su rendimiento será mejor en la tarea de verificación. Si una imagen no está alineada, una línea individual de texto puede reconocerse incorrectamente o dividirse en varias líneas, en lugar de que el texto aparezca en una sola línea. Cuando se realiza el reconocimiento después de alinear una imagen, mejora la calidad del reconocimiento y se asegura de que las coordenadas reconocidas coincidan con la posición del texto en la imagen ajustada.

Cuando PDFFREDocumentToImage extrae una página de un PDF y la convierte en una imagen, alinea la imagen y guarda la imagen ajustada como un TIFF. Una página también puede alinearse antes del reconocimiento utilizando las acciones de mejora de imagen. De manera alternativa, la acción OCR/A RotateImageOCR_A puede realizar la alineación y otras mejoras de imagen. Las acciones OCR/A Recognize y RecognizePage también pueden alinear automáticamente la imagen en el paso de reconocimiento

La alineación de página se puede controlar estableciendo la variable DCO y_correctSkewMode. Si hace que el motor de reconocimiento alinee la imagen, no es necesario realizar alinearla primero utilizando las acciones de mejora de imagen, pero puede ser útil realizar la alineación y otras limpiezas de imagen antes del reconocimiento, dependiendo de la calidad de los documentos de entrada.

El máximo de la imagen que se alineará es 15 grados. El motor puede o no alinear una imagen más de esos grados.

Para que el motor alinee la imagen durante el reconocimiento, establezca y_correctSkewMode en una de las siguientes opciones:

0: Desactiva la alineación durante el reconocimiento.

1: Realiza la alineación utilizando cuadrados de registro negro horizontales.

2: Realiza la alineación utilizando cuadrados de registro negro verticales.

4: Realiza la alineación utilizando líneas horizontales (no se utiliza si las líneas no aparecen en la página).

8: Realiza la alineación utilizando líneas verticales (no se utiliza si las líneas no aparecen en la página).

16: Realiza la alineación utilizando texto horizontal (valor predeterminado, si no se ha establecido y_correctSkewMode).

Cuando se alinea una página, puede ocurrir que el tamaño físico de la imagen aumente un poco, porque la rotación de la imagen añade píxeles adicionales a lo largo de la imagen para conservarla. Por ejemplo, una pagina inclinada de 8,5" x 11" puede convertirse en 9,265" x 11,59".

La cantidad de aumento depende de la inclinación de la imagen. Para el reconocimiento de página completa, este cambio normalmente no es relevante. Si se utiliza el reconocimiento de nivel de campo, puede hacer que las zonas se alineen incorrectamente. En este caso, es posible que sea necesario utilizar anclas de registro para alinear la imagen a las zonas o recortar la imagen al tamaño original.

La variable y_correctSkewMode se puede establecer en el tiempo de ejecución utilizando la acción rrSet. Por ejemplo:

rrSet("0","@X.y_correctSkewMode")
PDFFREDocumentToImage("...")

De manera alternativa, la variable y_correctSkewMode se puede establecer en el objeto en el DCO de configuración en Datacap Studio. Si siempre se va a establecer la variable, es más eficaz colocarla en el DCO de configuración en Datacap Studio que utilizar rrSet en el tiempo de ejecución.

Umbral de binarización

Esta propiedad se utiliza para ajustar el umbral de brillo de la imagen durante el preproceso de la imagen.

Los píxeles con un brillo superior al valor de umbral se sustituirán por píxeles blancos y el resto por píxeles negros.

El valor de esta propiedad puede estar en el rango de 0 a 255. El valor predeterminado de esta propiedad es -1, que indica que el valor del umbral de binarización lo determina automáticamente el motor de reconocimiento.

El umbral de binarización se puede controlar estableciendo la variable DCO y_binarizationThreshold.

La variable y_binarizationThreshold puede establecerse utilizando la acción rrSet. Por ejemplo:

rrSet("50", "@X.y_binarizationThreshold")
PDFFREDocumentToImage("...")
Ejemplo
rrSet("1", "@X.y_createLayout")
PDFFREDocumentToImage(300, 18, 32, 33,".bw.tif", ".color.tif", ".gray.tif", 0, false, 100)

Este ejemplo crea un nodo de página de DCO con una imagen correspondiente para cada página del PDF y lleva a cabo el reconocimiento de forma simultánea porque y_createLayout se establece en "1". Si se encuentra alguna página de color durante la conversión, se retendrá la página de color, creando un TIF con compresión LZW, que es una compresión sin pérdida que conserva la calidad de la imagen de origen. Para cualquier página que sea en blanco y negro, las imágenes creadas tendrán compresión FAX G4, que es una forma muy eficiente y sin pérdida de comprimir una imagen en blanco y negro. El texto reconocido se almacena en un archivo de diseño. Este texto se puede utilizar llamando a la acción CreateCcoFromLayout en las herramientas SharedRecognitionTools para cada objeto de página recién creado. Cada imagen creada tendrá un DPI de 300.

Ejemplo
SetNamePattern("2")
PDFFREDocumentToImage(300, 18, 18, 18, ".tif", ".tif", ".tif", 1, false, 100)

Este ejemplo crea un nodo de página de DCO para cada imagen y convierte todas las páginas en blanco y negro utilizando la compresión FAX G4, que no tiene pérdida y, por lo general, la mejor compresión para imágenes en blanco y negro. Cada imagen creada tendrá un DPI de 300. Dependiendo de sus necesidades, puede ser aceptable convertir a blanco y negro en este paso o puede ser útil hacer la conversión después de realizar mejoras específicas de la imagen. Puesto que se invoca SetNamePattern ("2") antes de la acción, los archivos TIF recién creados se nombrarán utilizando el convenio de nomenclatura TMxxxxxx.

Para este ejemplo, "SetNamePattern("2")" se invoca directamente antes de DocumentFactory en el mismo nodo DCO. Esta acción se puede llamar en cualquier momento antes de DocumentFactory, siempre que se llame dentro del mismo perfil de tarea. La llamada de la acción solo una vez en el suceso de apertura del lote hace que todas las páginas posteriores utilicen estos valores, y es más eficaz que llamar la acción una y otra vez para cada página.

Ejemplo
SetNamePattern("2")
SetChildPageType("Mortgage")
rrSet("1","@X.convPdfIgnoreContent")
rrSet("0","@X.y_createLayout")
PDFFREDocumentToImage("300","18","33","32",".bw.tif","col.tif","gray.tif","0","False","100")

Este ejemplo convertirá el PDF en TIF sin realizar ningún reconocimiento ni extraer ningún dato. Esta es la modalidad más rápida para convertir un PDF en imágenes TIF. Esto se recomienda cuando las páginas se reconocerán en una regla siguiente. Si el PDF contiene imágenes escaneadas, normalmente es mejor utilizar siempre este método ya que permite que las imágenes se adquieran utilizando el conjunto de reglas de mejora de imagen para corregir la inclinación y mejorar la calidad de las imágenes escaneadas y, a continuación, utilizar acciones de reconocimiento para reconocer las páginas después de que se hayan limpiado las imágenes.

Alternativamente, las variables "conPdfIngoreContent" e "y_createLayout" se pueden crear en la configuración de DCO en Datacap Studio en el nodo DCO que está llamando a PDFFREDocumentToImage. Esto será más eficaz, ya que las variables no tendrán que crearse, una y otra vez, en tiempo de ejecución para cada página.

Proceso de archivos PDF seguros

Para los archivos PDF que tienen las propiedades, Content Copying: Not Allowed o Content Copying for Accessibility: Not Allowed, la acción eliminará estas propiedades automáticamente del PDF para que se puedan crear archivos de imagen para cada página del PDF. Si se cambia el PDF, se guardará una copia de seguridad del archivo PDF original en el directorio de proceso por lotes. El PDF original se guardará con el nombre "NombreArchivo.original.pdf". Por ejemplo, TM000001.original.pdf

El sufijo "Original" predeterminado se puede cambiar estableciendo la variable "y_PdfBackupSuffix" de DCO antes de llamar a la acción PDFFREDocumentToImage.

rrSet(".secure", "@X.y_PdfBackupSuffix")
PDFFREDocumentToImage(300, 18, 32, 33,".bw.tif", ".color.tif", ".gray.tif", 0, false, 100)

Este ejemplo hará copia de seguridad del archivo original como PDFFileName.protected.pdf y eliminará las propiedades de seguridad del archivo asociado con el objeto DCO y, a continuación, creará y creará una imagen para cada página en el PDF. Si y_PdfBackupSuffix no se establece, de forma predeterminada se añadirá .oiginal.pdf al archivo de copia de seguridad.