activities
latest
false
Importante :
Este contenido se ha localizado parcialmente a partir de un sistema de traducción automática.
UiPath logo, featuring letters U and I in white
Actividades de Document Understanding
Last updated 21 de nov. de 2024

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 :
  1. El primero explica cómo leer el archivo .pdf mientras se utiliza la actividad Leer texto PDF.
  2. 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.

Pasos
  1. Abre Studio y crea un nuevo Proceso.
  2. Añade un contenedor de diagrama de flujo en el Diseñador de flujo de trabajo.
    1. Crea una variable llamada chooseOption, con el tipo ValorGenérico y sin valor predeterminado.
      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. Añade una actividad de diálogo de entrada y conéctala al nodo de inicio.
    1. En el panel Propiedades , agrega la expresión "Choose one option below:" en el campo Etiqueta .
    2. Agrega la expresión {"Read PDF Text", "Read PDF With OCR"} en el campo Opciones .
    3. Añade el valor "Options" en el campo Título.
    4. Agrega la variable chooseOption en el campo Resultado.
  4. Añade una actividad de Decisión de flujo después de la actividad Diálogo de entrada y conéctala a ella.
    1. En el panel Propiedades , añade la expresión chooseOption = "Read PDF Text" en el campo Condición .
  5. Añade un contenedor Secuencia y conéctalo a la rama Verdadero de la actividad de Decisión de flujo. El nombre de la Secuencia debe ser Leer texto PDF. Esta actividad extrae información utilizando expresiones regulares.
    1. Crear las variables mostradas en la siguiente tabla:
      Tabla 1. Variables que se crearán
       

      Tipo de variable

      Valor predeterminado

      extractedText

      Cadena

      N/D

      arrayText

      System.String []

      N/D

      address

      ValorGenérico

      N/D

      city

      Cadena

      N/D

      phoneNumber

      Cadena

      N/D

      invoiceNumber

      Cadena

      N/D

      vendor

      ValorGenérico

      N/D

      bankName

      Cadena

      N/D

      bankAccount

      Cadena

      N/D

      ibanCode

      Cadena

      N/D
  6. Añade un contenedor Secuencia y conéctalo a la rama Falso de la actividad de Decisión de flujo. El nombre de la Secuencia debe ser Leer PDF con OCR. Esta actividad extrae información utilizando un motor OCR (Microsoft OCR y Tesseract OCR).
    1. Crear las variables mostradas en la siguiente tabla:
      Tabla 2. Variables que se crearán
       

      Tipo de variable

      Valor predeterminado

      extractedTextTesseract

      Cadena

      N/D

      extractedTextMicrosoft

      Cadena

      N/D
    Figura 1. Descripción general del principio del flujo de trabajo

  7. Leer un archivo PDF utilizando la actividad Leer texto PDF:
    1. Abre el contenedor Leer secuencia de texto PDF seleccionándolo dos veces.
    2. Añade una actividad Leer texto PDF dentro de la secuencia.
      1. En el panel Propiedades , añade la expresión "NPO Invoice.pdf" en el campo NombreDeArchivo .
      2. Añade el valor "All" en el campo Intervalo .
      3. Agrega la variable extractedText en el campo Texto.
  8. Añade una actividad Asignar después de la actividad Leer texto PDF.
    1. Añade la variable arrayText en el campo Para.
    2. Agrega la expresión extractedText.Split(Environment.NewLine.ToArray, StringSplitOptions.RemoveEmptyEntries) en el campo Valor.
  9. Agrega una actividad Si bajo la actividad Asignar.
    1. Añada la expresión arrayText(0).Equals("Tiefland Glass AG") en el campo Condición.
  10. Añade una actividad Asignar dentro del contenedor Secuencia.
    1. Añade la variable address en el campo Para.
    2. Agrega la expresión arrayText(2) en el campo Valor.
  11. Añade otra actividad Asignar y colócala después de la anterior.
    1. Añade la variable city en el campo Para.
    2. Agrega la expresión arrayText(3).Split(","c)(0) en el campo Valor.
  12. Añade otra actividad Asignar y colócala después de la anterior.
    1. Añade la variable phoneNumber en el campo Para.
    2. Agrega la expresión arrayText(4).Split(":"c)(1).Split({"INVOICE"},StringSplitOptions.None)(0) en el campo Valor.
  13. Añade otra actividad Asignar y colócala después de la anterior.
    1. Añade la variable invoiceNumber en el campo Para.
    2. Agrega la expresión arrayText(4).Split(":"c)(1).Split({"INVOICE"},StringSplitOptions.None)(1).Split("#"c)(1) en el campo Valor.
  14. Añade otra actividad Asignar y colócala después de la anterior.
    1. Añade la variable vendor en el campo Para.
    2. Agrega la expresión arrayText(arrayText.Count-5) en el campo Valor.
  15. Añade una actividad Asignar dentro del campo Si no.
    1. Añade la variable address en el campo Para.
    2. Agrega la expresión arrayText(1) en el campo Valor.
  16. Añade otra actividad Asignar y colócala después de la anterior.
    1. Añade la variable city en el campo Para.
    2. Agrega la expresión arrayText(2).Split(","c)(0) en el campo Valor.
  17. Añade otra actividad Asignar y colócala después de la anterior.
    1. Añade la variable phoneNumber en el campo Para.
    2. Agrega la expresión arrayText(3).Split(":"c)(1).Split({"INVOICE"},StringSplitOptions.None)(0) en el campo Valor.
  18. Añade otra actividad Asignar y colócala después de la anterior.
    1. Añade la variable invoiceNumber en el campo Para.
    2. Agrega la expresión arrayText(3).Split(":"c)(1).Split({"INVOICE"},StringSplitOptions.None)(1).Split("#"c)(1) en el campo Valor.
  19. Añade otra actividad Asignar y colócala después de la anterior.
    1. Añade la variable vendor en el campo Para.
    2. Agrega la expresión arrayText(arrayText.Count-5) en el campo Valor.
      Figura 2. Descripción general de la secuencia que contiene las actividades Asignar

  20. Coloca una actividad Para cada después del contenedor Si.
    1. Añade la variable arrayText en el campo Valor.
  21. Añade una actividad Si dentro del contenedor Cuerpo de la actividad Para cada.
    1. Añada la expresión item.Contains("Bank Name:") en el campo Condición.
  22. Añade una actividad Asignar dentro del campo Entonces.
    1. Añade la variable bankName en el campo Para.
    2. Agrega la expresión item.Split(":"c)(1) en el campo Valor.
  23. Añade una actividad Si después de la anterior.
    1. Añada la expresión item.Contains("Bank Account:") en el campo Condición.
  24. Añade una actividad Asignar dentro del campo Entonces.
    1. Añade la variable bankName en el campo Para.
    2. Agrega la expresión item.Split(":"c)(1) en el campo Valor.
  25. Añade una actividad Si después de la anterior.
    1. Añada la expresión item.contains("IBAN Code:") en el campo Condición.
  26. Añade una actividad Asignar dentro del campo Entonces.
    1. Añade la variable ibanCode en el campo Para.
    2. Agrega la expresión item.Split(":"c)(1) en el campo Valor.
      Figura 3. Descripción general de la actividad Para cada

  27. Vuelve a la secuencia Leer texto PDF y añade una actividad Escribir archivo de texto debajo de la actividad Para cada.
    1. Añade el valor"InvoiceDetails.txt" en el campo NombreDeArchivo .
    2. Añade la expresión "Invoice details"+Environment.NewLine+Environment.NewLine+"Vendor: "+vendor+Environment.NewLine+"Vendor address: "+address+Environment.NewLine+"City: "+city+Environment.NewLine+"Phone number:"+phoneNumber+Environment.NewLine+"Invoice number:"+invoiceNumber+Environment.NewLine+"Bank name:"+bankName+Environment.NewLine+"Bank account:"+bankAccount+Environment.NewLine+"IBAN Code:"+ibanCode en el campo Texto.
      Figura 4. Descripción general del contenedor Para cada

  28. Vuelva al área de trabajo del flujo de trabajo principal .
  29. Lee un archivo PDF utilizando la actividad Leer PDF con OCR.
    1. Abre el contenedor Leer PDF con secuencia OCR.
    2. Arrastra una actividad Leer PDF con OCR dentro de la secuencia.
      1. Añade el valor "Invoice02.pdf" en el campo NombreDeArchivo .
      2. En panel Propiedades añade el valor 1en el campo GradoDeParalelismo.
    3. Arrastra el motor Google OCR dentro de la actividad Leer PDF con OCR .
      1. En el panel Propiedades , añade la variable extractedTextTesseract en el campo Texto .
    4. Arrastra otra actividad Leer PDF con OCR y colócala después de la anterior.
      1. Añade el valor "Invoice02.pdf" en el campo NombreDeArchivo .
      2. En panel Propiedades añade el valor 1en el campo GradoDeParalelismo.
    5. Arrastra el motor Microsoft OCR dentro de la actividad Leer PDF con OCR .
      1. En el panel Propiedades , añade la variable extractedTextMicrosoft en el campo Texto .
    6. Arrastre una actividad Escribir archivo de texto debajo de la actividad Leer PDF con OCR .
      1. Añade el valor "OCRMicrosoft.txt" en el campo NombreDeArchivo .
      2. Agrega la variable extractedTextMicrosoft en el campo Texto.
    7. Arrastra una actividad Escribir archivo de texto debajo de la actividad Escribir archivo de texto anterior.
      1. Añade el valor "OCRTesseract.txt" en el campo NombreDeArchivo .
      2. Agrega la variable extractedTextTesseract en el campo Texto.
        Figura 5. Descripción general de la actividad Leer PDF con OCR

  30. Ejecuta el proceso. El robot extrae los datos utilizando el proceso especificado y guarda la salida en un archivo .txt .
Consulta el siguiente enlace para descargar el ejemplo como formato ZIP: Ejemplo.

¿Te ha resultado útil esta página?

Obtén la ayuda que necesitas
RPA para el aprendizaje - Cursos de automatización
Foro de la comunidad UiPath
Uipath Logo White
Confianza y seguridad
© 2005-2024 UiPath. Todos los derechos reservados.