UiPath Documentation
activities
latest
false
Importante :
A tradução automática foi aplicada parcialmente neste conteúdo. A localização de um conteúdo recém-publicado pode levar de 1 a 2 semanas para ficar disponível.
UiPath logo, featuring letters U and I in white

Atividades do Document Understanding

Última atualização 27 de abr de 2026

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 :

  1. O primeiro explica como ler o arquivo .pdf usando a atividade Read PDF Text.
  2. 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 está usando mecanismos de OCR, o que significa que os detalhes das informações extraídas 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.

Etapas
  1. Abra o Studio e crie um Processo.
  2. Adicione um contêiner Fluxograma no Designer de fluxo de trabalho.
    1. Crie uma variável chamada chooseOption, com o tipo GenericValue e sem valor padrão.
      Observação:

      Add your .pdf files to the project directory in order to be able to run the entire process from the same place or download this example in order to use the given file.

  3. Adicione uma atividade Input Dialog e conecte-a ao Nó de início.
    1. No painel Propriedades, adicione a expressão "Choose one option below:" ao campo Rótulo.
    2. Add the expression {"Read PDF Text", "Read PDF With OCR"} in the Options field.
    3. Adicione o valor "Options" ao campo Título.
    4. Adicione a variável chooseOption no campo Resultado.
  4. Adicione uma atividade Flow Decision após a atividade Input Dialog e conecte-a.
    1. No painel Propriedades, adicione a expressão chooseOption = "Read PDF Text" ao campo Condição.
  5. Adicione um contêiner Sequência e conecte-o à ramificação True da atividade Flow Decision. O nome da Sequência deve ser Read PDF Text. Essa atividade extrai informações usando expressões regulares.
    1. Crie as variáveis exibidas na tabela a seguir:

      Tabela 1. Variáveis a serem criadas

      Tipo de VariávelValor Padrão
      extractedTextStringN/A
      arrayTextSystem.String[]N/A
      addressGenericValueN/A
      cityStringN/A
      phoneNumberStringN/A
      invoiceNumberStringN/A
      vendorGenericValueN/A
      bankNameStringN/A
      bankAccountStringN/A
      ibanCodeStringN/A
  6. Adicione um contêiner Sequência e conecte-o à ramificação False da atividade Flow Decision. O nome da Sequência deve ser Read PDF With OCR. Essa atividade extrai informações usando um mecanismo de OCR (Microsoft OCR e Tesseract OCR).
    1. Crie as variáveis exibidas na tabela a seguir:

      Tabela 2. Variáveis a serem criadas

      Tipo de VariávelValor Padrão
      extractedTextTesseractStringN/A
      extractedTextMicrosoftStringN/A

      Figura 1. Visão geral do início do fluxo de trabalho

      Visão geral do início do fluxo de trabalho

  7. Leia um Arquivo PDF usando a atividade Read PDF Text:
    1. Abra o contêiner de sequência Read PDF Text selecionando-o duas vezes.
    2. Adicione uma atividade Read PDF Text dentro da sequência.
      1. In the Properties panel, add the expression "NPO Invoice.pdf" in the FileName field.
      2. Add the value "All" in the Range field.
      3. Adicione a variável extractedText no campo Texto.
  8. Adicione uma atividade Assign após a atividade Read PDF Text.
    1. Adicione a variável arrayText no campo Para.
    2. Adicione a expressão extractedText.Split(Environment.NewLine.ToArray, StringSplitOptions.RemoveEmptyEntries) no campo Valor.
  9. Adicione uma atividade If abaixo da atividade Assign.
    1. Adicione a expressão arrayText(0).Equals("Tiefland Glass AG") no campo Condição.
  10. Adicione uma atividade Atribuir dentro do contêiner da Sequência.
    1. Adicione a variável address no campo Para.
    2. Adicione a expressão arrayText(2) no campo Valor.
  11. Adicione outra atividade Assign e coloque-a após a anterior.
    1. Adicione a variável city no campo Para.
    2. Adicione a expressão arrayText(3).Split(","c)(0) no campo Valor.
  12. Adicione outra atividade Assign e coloque-a após a anterior.
    1. Adicione a variável phoneNumber no campo Para.
    2. Adicione a expressão arrayText(4).Split(":"c)(1).Split({"INVOICE"},StringSplitOptions.None)(0) no campo Valor.
  13. Adicione outra atividade Assign e coloque-a após a anterior.
    1. Adicione a variável invoiceNumber no campo Para.
    2. Adicione a expressão arrayText(4).Split(":"c)(1).Split({"INVOICE"},StringSplitOptions.None)(1).Split("#"c)(1) no campo Valor.
  14. Adicione outra atividade Assign e coloque-a após a anterior.
    1. Adicione a variável vendor no campo Para.
    2. Adicione a expressão arrayText(arrayText.Count-5) no campo Valor.
  15. Adicione uma atividade Assign dentro do campo Else.
    1. Adicione a variável address no campo Para.
    2. Adicione a expressão arrayText(1) no campo Valor.
  16. Adicione outra atividade Assign e coloque-a após a anterior.
    1. Adicione a variável city no campo Para.
    2. Adicione a expressão arrayText(2).Split(","c)(0) no campo Valor.
  17. Adicione outra atividade Assign e coloque-a após a anterior.
    1. Adicione a variável phoneNumber no campo Para.
    2. Adicione a expressão arrayText(3).Split(":"c)(1).Split({"INVOICE"},StringSplitOptions.None)(0) no campo Valor.
  18. Adicione outra atividade Assign e coloque-a após a anterior.
    1. Adicione a variável invoiceNumber no campo Para.
    2. Adicione a expressão arrayText(3).Split(":"c)(1).Split({"INVOICE"},StringSplitOptions.None)(1).Split("#"c)(1) no campo Valor.
  19. Adicione outra atividade Assign e coloque-a após a anterior.
    1. Adicione a variável vendor no campo Para.

    2. Adicione a expressão arrayText(arrayText.Count-5) no campo Valor.

      Figura 2. Visão geral da sequência que contém as atividades Assign

      Visão geral da sequência que contém as atividades Assign

  20. Coloque uma atividade For Each após o contêiner If.
    1. Add the variable arrayText in the Value field.
  21. Adicione uma atividade If dentro do contêiner Corpo da atividade For Each.
    1. Adicione a expressão item.Contains("Bank Name:") no campo Condição.
  22. Adicione uma atividade Assign dentro do campo Then.
    1. Adicione a variável bankName no campo Para.
    2. Adicione a expressão item.Split(":"c)(1) no campo Valor.
  23. Adicione uma atividade If após a anterior.
    1. Adicione a expressão item.Contains("Bank Account:") no campo Condição.
  24. Adicione uma atividade Assign dentro do campo Then.
    1. Adicione a variável bankName no campo Para.
    2. Adicione a expressão item.Split(":"c)(1) no campo Valor.
  25. Adicione uma atividade If após a anterior.
    1. Adicione a expressão item.contains("IBAN Code:") no campo Condição.
  26. Adicione uma atividade Assign dentro do campo Then.
    1. Adicione a variável ibanCode no campo Para.

    2. Adicione a expressão item.Split(":"c)(1) no campo Valor.

      Figura 3. Visão geral da atividade For Each

      Visão geral da atividade For Each

  27. Retorne à sequência Read PDF Text e adicione uma atividade Write Text File abaixo da atividade For Each.
    1. Add the value"InvoiceDetails.txt" in the FileName field.

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

      Figura 4. Visão geral do contêiner For Each

      Visão geral do contêiner For Each

  28. Return to the Main workflow working area.
  29. Leia um arquivo PDF usando a atividade Read PDF with OCR.
    1. Abra o contêiner de sequência Read PDF with OCR.
    2. Drag a Read PDF With OCR activity inside the sequence.
      1. Add the value "Invoice02.pdf" in the FileName field.
      2. In the Properties panel, add the value 1 in the DegreeOfParallelism field.
    3. Drag the Google OCR engine inside the Read PDF With OCR activity.
      1. No painel Propriedades, adicione a variável extractedTextTesseract ao campo Texto.
    4. Arraste outra atividade Read PDF with OCR e coloque-a após a anterior.
      1. Add the value "Invoice02.pdf" in the FileName field.
      2. In the Properties panel, add the value 1 in the DegreeOfParallelism field.
    5. Drag the Microsoft OCR engine inside the Read PDF With OCR activity.
      1. In the Properties panel add the variable extractedTextMicrosoft in the Text field.
    6. Drag a Write Text File activity below the Read PDF With OCR activity.
      1. Add the value "OCRMicrosoft.txt" in the FileName field.
      2. Adicione a variável extractedTextMicrosoft no campo Texto.
    7. Drag a Write Text File activity below the previous Write Text File activity.
      1. Add the value "OCRTesseract.txt" in the FileName field.

      2. Adicione a variável extractedTextTesseract no campo Texto.

        Figura 5. Visão geral da atividade Read PDF with OCR

        Visão geral da atividade Read PDF with OCR

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

Acesse o link a seguir para baixar o exemplo como um formato ZIP : Exemplo.

    Esta página foi útil?

    Conectar

    Precisa de ajuda? Suporte

    Quer aprender? Academia UiPath

    Tem perguntas? Fórum do UiPath

    Fique por dentro das novidades