Atividades
Mais recente
falso
Imagem de fundo do banner
Atividades de Document Understanding
Última atualização 29 de abr de 2024

Leitura de arquivos PDF

Você pode ler e extrair separadamente o conteúdo de arquivos .pdf usando atividades que podem ler todos os caracteres incluídos no documento.

Dependendo de suas necessidades, você pode usar uma atividade simples que pode reconhecer os personagens ou usar um mecanismo de OCR. Os benefícios de usar um mecanismo de OCR são que a leitura do documento pode ser aplicada mesmo em documentos digitalizados, assinados ou manuscritos.

O exemplo abaixo apresenta duas situações de leitura de um arquivo .pdf :
  • O primeiro explica como ler o arquivo .pdf usando a atividade Read PDF Text.
  • O segundo explica como ler o arquivo .pdf usando a atividade Read PDF With OCR.

    A principal diferença entre os dois cenários é que o segundo também usa mecanismos de OCR, o que significa que os detalhes da informação extraída são mais precisos do que no primeiro caso, se o arquivo analisado for uma imagem, digitalizada ou incluir campos assinados ou manuscritos. Você pode encontrar ambas as atividades no pacote UiPath.PDF.Activities .

É necessário apenas um fluxo de trabalho para os dois cenários, comum até o ponto de solicitar ao usuário a escolha do método de leitura desejado.

É assim que um processo de automação pode ser construído:

  1. Abra o Studio e crie um Processo.
  2. Arraste um contêiner Fluxograma no Designer de fluxo de trabalho.

    • Crie a seguinte variável:

      Nome da variável

      Tipo de Variável

      Valor Padrão

      chooseOption

      GenericValue

       
      Observação: adicione seus arquivos .pdf ao diretório do projeto para poder executar todo o processo no mesmo local ou baixe este exemplo para usar o arquivo fornecido.
  3. Arraste uma atividade Input Dialog e conecte-a ao Start Node.

    • No painel Propriedades , adicione a expressão "Choose one option below:" no campo Rótulo .
    • Adicione a expressão {"Read PDF Text", "Read PDF With OCR"} no campo Opções .
    • Adicione o valor "Options" ao campo Título.
    • Adicione a variável chooseOption no campo Resultado.
  4. Coloque uma atividade Flow Decision abaixo da atividade Input Dialog e conecte-a a ela.

    • No painel Propriedades , adicione a expressão chooseOption = "Read PDF Text" no campo Condição .
  5. Arraste um container Sequence e conecte-o à ramificação True da atividade Flow Decision . O nome da Sequência deve ser Read PDF Text. Esta atividade extrai informações usando expressões regulares.

    • Crie as seguintes variáveis:

      Nome da variável

      Tipo de Variável

      Valor Padrão

      extractedText

      String

       

      arrayText

      System.String[]

       

      address

      GenericValue

       

      city

      String

       

      phoneNumber

      String

       

      invoiceNumber

      String

       

      vendor

      GenericValue

       

      bankName

      String

       

      bankAccount

      String

       

      ibanCode

      String

       
  6. Arraste um container Sequence e conecte-o à ramificação False da atividade Flow Decision . O nome da Sequência deve ser Read PDF With OCR. Esta atividade extrai informações usando um mecanismo de OCR (Microsoft OCR e Tesseract OCR).
  • Crie a seguinte variável:

    Nome da variável

    Tipo de Variável

    Valor Padrão

    extractedTextTesseract

    String

     

    extractedTextMicrosoft

    String

     

É assim que seu fluxo de trabalho deve ficar até este ponto:



Ler um arquivo PDF usando a atividade Ler texto PDF
  1. Abra o contêiner de sequência Read PDF Text clicando duas vezes nele.
  2. Arraste uma atividade Ler texto PDF dentro da sequência.

    • No painel Properties , adicione a expressão "NPO Invoice.pdf" no campo FileName .
    • Adicione o valor "All" no campo Intervalo .
    • Adicione a variável extractedText no campo Texto.
  3. Coloque uma atividade Atribuir na atividade Ler texto PDF .

    • Adicione a variável arrayText no campo Para.
    • Adicione a expressão extractedText.Split(Environment.NewLine.ToArray, StringSplitOptions.RemoveEmptyEntries) no campo Valor.
  4. Arraste uma atividade Se para baixo da atividade Atribuir .

    • Adicione a expressão arrayText(0).Equals("Tiefland Glass AG") no campo Condição.
  5. Arraste uma atividade Assign para dentro do contêiner Sequence.

    • Adicione a variável address no campo Para.
    • Adicione a expressão arrayText(2) no campo Valor.
  6. Arraste outra atividade Atribuir e coloque-a abaixo da anterior.

    • Adicione a variável city no campo Para.
    • Adicione a expressão arrayText(3).Split(","c)(0) no campo Valor.
  7. Arraste outra atividade Atribuir e coloque-a abaixo da anterior.

    • Adicione a variável phoneNumber no campo Para.
    • Adicione a expressão arrayText(4).Split(":"c)(1).Split({"INVOICE"},StringSplitOptions.None)(0) no campo Valor.
  8. Arraste outra atividade Atribuir e coloque-a abaixo da anterior.

    • Adicione a variável invoiceNumber no campo Para.
    • Adicione a expressão arrayText(4).Split(":"c)(1).Split({"INVOICE"},StringSplitOptions.None)(1).Split("#"c)(1) no campo Valor.
  9. Arraste outra atividade Atribuir e coloque-a abaixo da anterior.

    • Adicione a variável vendor no campo Para.
    • Adicione a expressão arrayText(arrayText.Count-5) no campo Valor.
  10. Arraste uma atividade Atribuir para dentro do campo Else .

    • Adicione a variável address no campo Para.
    • Adicione a expressão arrayText(1) no campo Valor.
  11. Arraste outra atividade Atribuir e coloque-a abaixo da anterior.

    • Adicione a variável city no campo Para.
    • Adicione a expressão arrayText(2).Split(","c)(0) no campo Valor.
  12. Arraste outra atividade Atribuir e coloque-a abaixo da anterior.

    • Adicione a variável phoneNumber no campo Para.
    • Adicione a expressão arrayText(3).Split(":"c)(1).Split({"INVOICE"},StringSplitOptions.None)(0) no campo Valor.
  13. Arraste outra atividade Atribuir e coloque-a abaixo da anterior.

    • Adicione a variável invoiceNumber no campo Para.
    • Adicione a expressão arrayText(3).Split(":"c)(1).Split({"INVOICE"},StringSplitOptions.None)(1).Split("#"c)(1) no campo Valor.
  14. Arraste outra atividade Atribuir e coloque-a abaixo da anterior.

    • Adicione a variável vendor no campo Para.
    • Adicione a expressão arrayText(arrayText.Count-5) no campo Valor.

      É assim que sua Sequência deve aparecer até este ponto:



  15. Coloque uma atividade Para Cada abaixo do contêiner Se e clique duas vezes na atividade para abri-la.

    • Adicione a variável arrayText no campo Valor.
  16. Arraste uma atividade If para dentro do contêiner Corpo da atividade For Each .

    • Adicione a expressão item.Contains("Bank Name:") no campo Condição.
  17. Arraste uma atividade Atribuir para dentro do campo Então .

    • Adicione a variável bankName no campo Para.
    • Adicione a expressão item.Split(":"c)(1) no campo Valor.
  18. Coloque uma atividade If abaixo da anterior.

    • Adicione a expressão item.Contains("Bank Account:") no campo Condição.
  19. Arraste uma atividade Atribuir para dentro do campo Então .

    • Adicione a variável bankName no campo Para.
    • Adicione a expressão item.Split(":"c)(1) no campo Valor.
  20. Coloque uma atividade If abaixo da anterior.

    • Adicione a expressão item.contains("IBAN Code:") no campo Condição.
  21. Arraste uma atividade Atribuir para dentro do campo Então .

    • Adicione a variável ibanCode no campo Para.
    • Adicione a expressão item.Split(":"c)(1) no campo Valor.

      É assim que o contêiner For Each deve ficar:



  22. Retorne à sequência Read PDF Text e arraste uma atividade Write Text File abaixo da atividade For Each .

    • Adicione o valor"InvoiceDetails.txt" no campo FileName .
    • Adicione a expressão "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 no campo Texto.

      É assim que o contêiner For Each deve ficar:



  23. Retorne à área de trabalho do fluxo de trabalho principal .
Ler um arquivo PDF usando a atividade Ler PDF com OCR
  1. Abra o contêiner de sequência Ler PDF com OCR clicando duas vezes nele.
  2. Arraste uma atividade Ler PDF com OCR dentro da sequência.

    • Adicione o valor "Invoice02.pdf" no campo FileName .
    • No painel Propriedades, adicione o valor 1 no campo GrauDeParalelismo.
  3. Arraste o mecanismo de OCR do Google para dentro da atividade Ler PDF com OCR .

    • No painel Propriedades , adicione a variável extractedTextTesseract no campo Texto .
  4. Arraste outra atividade Ler PDF com OCR e coloque-a abaixo da anterior.

    • Adicione o valor "Invoice02.pdf" no campo FileName .
    • No painel Propriedades, adicione o valor 1 no campo GrauDeParalelismo.
  5. Arraste o mecanismo Microsoft OCR para dentro da atividade Ler PDF com OCR .

    • No painel Propriedades , adicione a variável extractedTextMicrosoft no campo Texto .
  6. Arraste uma atividade Escrever arquivo de texto abaixo da atividade Ler PDF com OCR .

    • Adicione o valor "OCRMicrosoft.txt" no campo FileName .
    • Adicione a variável extractedTextMicrosoft no campo Texto.
  7. Arraste uma atividade Gravar arquivo de texto para baixo da atividade anterior Gravar arquivo de texto .

    • Adicione o valor "OCRTesseract.txt" no campo FileName .
    • Adicione a variável extractedTextTesseract no campo Texto.

      É assim que a sequência Ler PDF com OCR deve ficar:



  8. Execute o processo. O robô extrai os dados usando o processo especificado e salva a saída em um arquivo .txt .

Baixe o exemplo aqui.

Was this page helpful?

Obtenha a ajuda que você precisa
Aprendendo RPA - Cursos de automação
Fórum da comunidade da Uipath
Logotipo branco da Uipath
Confiança e segurança
© 2005-2024 UiPath. All rights reserved.