Está en la página 1de 4

Leer archivos PDF

Puede leer y extraer por separado el contenido de .pdf archivos usando actividades que
pueden leer todos los caracteres incluidos en el documento.
Dependiendo de sus necesidades, puede usar una actividad simple que pueda reconocer
los caracteres, o usar una con un motor OCR. Las ventajas de utilizar un motor de OCR
son que la lectura de documentos se puede aplicar incluso en documentos escaneados,
firmados o escritos a mano.

El siguiente ejemplo presenta dos situaciones de lectura de un archivo .pdf :


• El primero explica cómo leer el archivo .pdf mientras se utiliza la actividad Leer
texto PDF.
• El segundo explica cómo leer el archivo .pdf mientras se utiliza la actividad Leer
PDF con OCR.
La principal diferencia entre los dos escenarios es que el segundo también utiliza
motores de OCR, lo que significa que los detalles de la información extraída son
más precisos que en el primer caso si el archivo analizado es una imagen,
escaneado o incluye campos firmados o escritos a mano. Puedes encontrar ambas
actividades en el paquete UiPath.PDF.Activities .

Solo se requiere un flujo de trabajo para ambos escenarios, común hasta el punto de pedir
al usuario que elija el método de lectura deseado.

Así es como se puede construir el proceso de automatización:

1. Abre Studio y crea un nuevo Proceso.


2. Arrastra un contenedor Diagrama de flujo hasta el Diseñador de flujo de trabajo.
• Cree la siguiente variable:

Nombre de la variable Tipo de variable Valor predeterminado

chooseOption ValorGenérico
• NOTA: añade tus archivos .pdf al directorio del proyecto para poder
ejecutar todo el proceso desde el mismo lugar o descarga este ejemplo
para usar el archivo indicado.

3. Arrastra una actividad Diálogo de entrada y conéctala al Nodo de inicio.


• En el panel Propiedades , agrega la expresión "Choose one option
below:" en el campo Etiqueta .

• Agrega la expresión {"Read PDF Text", "Read PDF With OCR"} en el


campo Opciones .
• Añade el valor "Options" en el campo Título.
• Agrega la variable chooseOption en el campo Resultado.
4. Coloca una actividad Decisión de flujo debajo de la actividad Diálogo de
entrada y conéctala.
• En el panel Propiedades , añade la expresión chooseOption = "Read
PDF Text" en el campo Condición .

5. Arrastra un contenedor Secuencia y conéctalo a la rama Verdadero de la


actividad Decisión de flujo . El nombre de la secuencia debe ser Leer texto PDF.
Esta actividad extrae información mediante expresiones regulares.
• Crea las siguientes variables:

Nombre de la variable Tipo de variable Valor predeterminado

Texto extraído Cadena

arrayText System.String []

Dirección ValorGenérico

Ciudad Cadena

Número de teléfono Cadena

invoiceNumber Cadena

Proveedor ValorGenérico

Nombre del banco Cadena

bankAccount Cadena

ibanCode Cadena

6. Arrastra un contenedor Secuencia y conéctalo a la rama Falso de la


actividad Decisión de flujo . El nombre de la secuencia debe ser Leer PDF con
OCR. Esta actividad extrae información mediante un motor de OCR (Microsoft
OCR y Tesseract OCR).
• Cree la siguiente variable:

Nombre de la variable Tipo de variable Valor predeterminado

extractedTextTesseract Cadena

extractedTextMicrosoft Cadena

Este es el aspecto que debe tener su flujo de trabajo hasta este punto:
Leer un archivo PDF utilizando la actividad Leer texto PDF
1. Abre el contenedor Leer secuencia de texto PDF haciendo doble clic en él.
2. Arrastra una actividad Leer texto PDF dentro de la secuencia.
• En el panel Propiedades , añade la expresión "NPO Invoice.pdf" en el
campo NombreDeArchivo .
• Añade el valor "All" en el campo Intervalo .
• Agrega la variable extractedText en el campo Texto.

3. Coloca una actividad Asignar bajo la actividad Leer texto PDF .


• Añade la variable arrayText en el campo Para.

• Agrega la
expresión extractedText.Split(Environment.NewLine.ToArray,
StringSplitOptions.RemoveEmptyEntries) en el campo Valor.
4. Arrastra una actividad Si debajo de la actividad Asignar .
• Añada la expresión arrayText(0).Equals("Tiefland Glass AG") en
el campo Condición.
5. Arrastra una actividad Asignar dentro del contenedor Secuencia.
• Añade la variable address en el campo Para.

• Agrega la expresión arrayText(2) en el campo Valor.

6. Arrastra otra actividad Asignar y colócala debajo de la anterior.


• Añade la variable city en el campo Para.

• Agrega la expresión arrayText(3).Split(","c)(0) en el campo Valor.

7. Arrastra otra actividad Asignar y colócala debajo de la anterior.


• Añade la variable phoneNumber en el campo Para.

• Agrega la
expresión arrayText(4).Split(":"c)(1).Split({"INVOICE"},Stri
ngSplitOptions.None)(0) en el campo Valor.

8. Arrastra otra actividad Asignar y colócala debajo de la anterior.


• Añade la variable invoiceNumber en el campo Para.

• Agrega la
expresión arrayText(4).Split(":"c)(1).Split({"INVOICE"},Stri
ngSplitOptions.None)(1).Split("#"c)(1) en el campo Valor.

9. Arrastra otra actividad Asignar y colócala debajo de la anterior.


• Añade la variable vendor en el campo Para.

• Agrega la expresión arrayText(arrayText.Count-5) en el


campo Valor.
10. Arrastra una actividad Asignar dentro del campo Si no .
• Añade la variable address en el campo Para.

• Agrega la expresión arrayText(1) en el campo Valor.

11. Arrastra otra actividad Asignar y colócala debajo de la anterior.


• Añade la variable city en el campo Para.

También podría gustarte