Actividades
Más reciente
False
Imagen de fondo del banner
Actividades de Document Understanding
Última actualización 29 de abr. 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 :
  • 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

      extractedText

      Cadena

       

      arrayText

      System.String []

       

      address

      ValorGenérico

       

      city

      Cadena

       

      phoneNumber

      Cadena

       

      invoiceNumber

      Cadena

       

      vendor

      ValorGenérico

       

      bankName

      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"},StringSplitOptions.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"},StringSplitOptions.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.
    • Agrega la expresión arrayText(2).Split(","c)(0) en el campo Valor.
  12. 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(3).Split(":"c)(1).Split({"INVOICE"},StringSplitOptions.None)(0) en el campo Valor.
  13. 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(3).Split(":"c)(1).Split({"INVOICE"},StringSplitOptions.None)(1).Split("#"c)(1) en el campo Valor.
  14. 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.

      Así es como debería verse tu Secuencia hasta este punto:



  15. Coloca una actividad Para cada debajo del contenedor Si y haz doble clic en la actividad para abrirla.

    • Añade la variable arrayText en el campo Valor.
  16. Arrastra una actividad Si dentro del contenedor Cuerpo de la actividad Para cada .

    • Añada la expresión item.Contains("Bank Name:") en el campo Condición.
  17. Arrastra una actividad Asignar dentro del campo Entonces .

    • Añade la variable bankName en el campo Para.
    • Agrega la expresión item.Split(":"c)(1) en el campo Valor.
  18. Coloca una actividad Si debajo de la anterior.

    • Añada la expresión item.Contains("Bank Account:") en el campo Condición.
  19. Arrastra una actividad Asignar dentro del campo Entonces .

    • Añade la variable bankName en el campo Para.
    • Agrega la expresión item.Split(":"c)(1) en el campo Valor.
  20. Coloca una actividad Si debajo de la anterior.

    • Añada la expresión item.contains("IBAN Code:") en el campo Condición.
  21. Arrastra una actividad Asignar dentro del campo Entonces .

    • Añade la variable ibanCode en el campo Para.
    • Agrega la expresión item.Split(":"c)(1) en el campo Valor.

      Este es el aspecto que debe tener el contenedor Para cada :



  22. Vuelve a la secuencia Leer texto PDF y arrastra una actividad Escribir archivo de texto debajo de la actividad Para cada .

    • Añade el valor"InvoiceDetails.txt" en el campo NombreDeArchivo .
    • 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.

      Este es el aspecto que debe tener el contenedor Para cada :



  23. Vuelva al área de trabajo del flujo de trabajo principal .
Leer un archivo PDF utilizando la actividad Leer PDF con OCR
  1. Abra el contenedor de secuencia Leer PDF con OCR haciendo doble clic en él.
  2. Arrastra una actividad Leer PDF con OCR dentro de la secuencia.

    • Añade el valor "Invoice02.pdf" en el campo NombreDeArchivo .
    • 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 .

    • En el panel Propiedades , añade la variable extractedTextTesseract en el campo Texto .
  4. Arrastra otra actividad Leer PDF con OCR y colócala debajo de la anterior.

    • Añade el valor "Invoice02.pdf" en el campo NombreDeArchivo .
    • 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 .

    • 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 .

    • Añade el valor "OCRMicrosoft.txt" en el campo NombreDeArchivo .
    • 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.

    • Añade el valor "OCRTesseract.txt" en el campo NombreDeArchivo .
    • Agrega la variable extractedTextTesseract en el campo Texto.

      Este es el aspecto que debe tener la secuencia Leer PDF con OCR :



  8. Ejecuta el proceso. El robot extrae los datos utilizando el proceso especificado y guarda la salida en un archivo .txt .

Descarga el ejemplo desde aquí.

Was this page helpful?

Obtén la ayuda que necesitas
RPA para el aprendizaje - Cursos de automatización
Foro de la comunidad UiPath
Logotipo blanco de UiPath
Confianza y seguridad
© 2005-2024 UiPath. All rights reserved.