Anotar documentos PDF usando Python

Você pode anotar qualquer documento PDF programaticamente na nuvem usando Python. Pode ser qualquer informação adicional sobre um dado existente na forma de imagens, comentários, notas ou outros tipos de comentários externos no documento. Neste artigo, você aprenderá como anotar documentos PDF usando uma API REST em Python.

Os seguintes tópicos serão abordados neste artigo:

API REST de anotação de documento e SDK Python

Para anotar documentos PDF, usarei a API Python SDK of GroupDocs.Annotation Cloud. Ele permite construir programaticamente ferramentas de anotação de documentos online. Você pode adicionar anotações, sobreposições de marcas d’água, substituições de texto, redações e marcações de texto aos documentos comerciais de todos os formatos populares. Ele também fornece SDKs .NET, Java, PHP, Ruby e Node.js como seus membros da família de anotações de documentos para a Cloud API.

Você pode instalar o GroupDocs.Annotation Cloud em seu projeto Python usando o seguinte comando no console:

pip install groupdocs_annotation_cloud

Obtenha seu ID de cliente e Segredo do cliente no painel antes de começar a seguir as etapas e os exemplos de código disponíveis. Depois de ter seu ID e segredo, adicione o código conforme mostrado abaixo:

client_id = "659fe7da-715b-4744-a0f7-cf469a392b73"
client_secret = "b377c36cfa28fa69960ebac6b6e36421"

configuration = groupdocs_annotation_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"
my_storage = ""

Anotar documentos PDF usando uma API REST em Python

Você pode adicionar anotações aos seus documentos PDF seguindo as etapas simples abaixo:

  1. Carregar o arquivo PDF para a nuvem
  2. Anotar documentos PDF usando Python
  3. Baixar o arquivo anotado

Carregue o Documento

Em primeiro lugar, carregue o arquivo PDF na nuvem usando o seguinte exemplo de código:

# criar instância da api
file_api = groupdocs_annotation_cloud.FileApi.from_config(configuration)
my_storage = ""

# carregar arquivo de amostra
request = groupdocs_annotation_cloud.UploadFileRequest("sample.pdf", "C:\\Files\\sample.pdf", my_storage)
response = file_api.upload_file(request)

Como resultado, o arquivo PDF carregado estará disponível na seção de arquivos do seu painel na nuvem.

Anotar documentos PDF usando Python

Siga as etapas mencionadas abaixo para adicionar várias anotações ao documento PDF programaticamente.

  • Crie uma instância de AnnotateApi
  • Crie a primeira instância de AnnotationInfo
  • Defina as propriedades de anotação para a primeira instância, por exemplo, posição, tipo, texto, etc.
  • Criar segunda instância de AnnotationInfo
  • Defina as propriedades de anotação para a segunda instância, por exemplo, posição, tipo, texto, etc.
  • Criar terceira instância de AnnotationInfo
  • Defina as propriedades de anotação para a terceira instância, por exemplo, posição, tipo, texto, etc.
  • Crie uma instância de FileInfo e defina o caminho do arquivo de entrada
  • Crie uma instância de AnnotateOptions e defina as informações do arquivo como AnnotateOptions
  • Atribuir a primeira, segunda e terceira anotações a AnnotateOptions
  • Crie uma solicitação chamando o método AnnotateRequest
  • Obtenha resultados chamando o método AnnotateApi.annotate()

O exemplo de código a seguir mostra como anotar um documento PDF e adicionar várias anotações usando uma API REST.

# inicializar API
api = groupdocs_annotation_cloud.AnnotateApi.from_config(configuration)

# anotação de distância
a1 = groupdocs_annotation_cloud.AnnotationInfo()
a1.annotation_position = groupdocs_annotation_cloud.Point()
a1.annotation_position.x = 1
a1.annotation_position.y = 1
a1.box = groupdocs_annotation_cloud.Rectangle()
a1.box.x = 100
a1.box.y = 100
a1.box.width = 200
a1.box.height = 200
a1.page_number = 0
a1.pen_color = 1201033
a1.pen_style = "Solid"
a1.pen_width = 3
a1.opacity = 1
a1.type = "Distance"
a1.text = "This is anotação de distância"
a1.creator_name = "Anonym A."

# anotação de área
a2 = groupdocs_annotation_cloud.AnnotationInfo()
a2.annotation_position = groupdocs_annotation_cloud.Point()
a2.annotation_position.x = 1
a2.annotation_position.y = 1
a2.box = groupdocs_annotation_cloud.Rectangle()
a2.box.x = 100
a2.box.y = 400
a2.box.width = 200
a2.box.height = 100
a2.page_number = 0
a2.pen_color = 1201033
a2.pen_style = "Solid"
a2.pen_width = 3
a2.opacity = 1
a2.type = "Area"
a2.text = "This is anotação de área"
a2.creator_name = "Anonym A."

# anotação de seta
a3 = groupdocs_annotation_cloud.AnnotationInfo()
a3.annotation_position = groupdocs_annotation_cloud.Point()
a3.annotation_position.x = 1
a3.annotation_position.y = 1
a3.box = groupdocs_annotation_cloud.Rectangle()
a3.box.x = 100
a3.box.y = 250
a3.box.width = 100
a3.box.height = 50
a3.page_number = 0
a3.pen_color = 1201033
a3.pen_style = "Solid"
a3.pen_width = 1
a3.opacity = 0.7
a3.type = "Arrow"
a3.text = "This is anotação de seta"
a3.creator_name = "Anonym A."

# Arquivo de entrada
file_info = groupdocs_annotation_cloud.FileInfo()
file_info.file_path = "sample.pdf"

# definir opções de anotação
options = groupdocs_annotation_cloud.AnnotateOptions()
options.file_info = file_info
options.annotations = [a1, a2, a3]
options.output_path = "output.pdf"

# criar solicitação de anotação
request = groupdocs_annotation_cloud.AnnotateRequest(options)
result = api.annotate(request)         

print("AddMultipleAnnotations: Multiple Annotations added: " + result['href'])
Adicionar várias anotações ao documento PDF usando uma API REST em Python

Adicionar várias anotações ao documento PDF usando uma API REST em Python

Você pode ler mais sobre os tipos de anotação suportados na seção adicionando anotações na documentação.

Baixe o arquivo anotado

O exemplo de código acima salvará o arquivo PDF anotado na nuvem. Você pode baixá-lo usando o seguinte exemplo de código:

# inicialização da API
file_api = groupdocs_annotation_cloud.FileApi.from_config(configuration)
my_storage = ""

# criar solicitação de download
request = groupdocs_annotation_cloud.DownloadFileRequest("output.pdf", my_storage)
response = file_api.download_file(request)

# Mova o arquivo baixado para o seu diretório de trabalho
shutil.move(response, "C:\\Files\\")

Adicionar anotações de TextField usando Python

Você pode adicionar anotações de campo de texto nos documentos PDF programaticamente seguindo as etapas abaixo:

  • Crie uma instância de AnnotateApi
  • Crie uma instância de AnnotationInfo
  • Definir a posição da anotação
  • Definir posição, altura e largura do retângulo
  • Defina várias propriedades de anotação, por exemplo, texto, altura, largura, etc.
  • Defina o tipo de anotação como TextField
  • Crie uma instância de FileInfo e defina o caminho do arquivo de entrada
  • Crie uma instância de AnnotateOptions e defina as informações do arquivo como AnnotateOptions
  • Atribuir anotação a AnnotateOptions
  • Crie uma solicitação chamando o método AnnotateRequest
  • Obtenha resultados chamando o método AnnotateApi.annotate()

O exemplo de código a seguir mostra como adicionar anotações de campo de texto no documento PDF usando uma API REST. Siga as etapas mencionadas anteriormente para fazer upload e download de um arquivo.

# inicializar API
api = groupdocs_annotation_cloud.AnnotateApi.from_config(configuration)

# fornecer informações de anotação
a1 = groupdocs_annotation_cloud.AnnotationInfo()
a1.annotation_position = groupdocs_annotation_cloud.Point()
a1.annotation_position.x = 1
a1.annotation_position.y = 1
a1.box = groupdocs_annotation_cloud.Rectangle()
a1.box.x = 380
a1.box.y = 300
a1.box.width = 100
a1.box.height = 50
a1.page_number = 0
a1.font_color = 1201033
a1.font_size = 12
a1.opacity = 0.7
a1.type = "TextField"           
a1.text = "Text field text"
a1.creator_name = "Anonym A."

# caminho do arquivo de entrada
file_info = groupdocs_annotation_cloud.FileInfo()
file_info.file_path = "sample.pdf"

# definir opções de anotação
options = groupdocs_annotation_cloud.AnnotateOptions()
options.file_info = file_info
options.annotations = [a1]
options.output_path = "output.pdf"

# criar solicitação de anotação
request = groupdocs_annotation_cloud.AnnotateRequest(options)
result = api.annotate(request)         

print("AddTextFieldAnnotation: Text Field Annotation added: " + result['href'])
Adicionar anotações de campo de texto usando Python

Adicionar anotações de campo de texto usando Python

Adicionar anotações de imagem usando Python

Você pode adicionar anotações de imagem em seus documentos PDF programaticamente seguindo as etapas abaixo:

  • Crie uma instância de AnnotateApi
  • Crie uma instância de AnnotationInfo
  • Definir retângulo e definir sua posição, altura e largura
  • Defina várias propriedades de anotação, por exemplo, posição, texto, altura, largura, etc.
  • Definir o tipo de anotação como Imagem
  • Crie uma instância de FileInfo e defina o caminho do arquivo de entrada
  • Crie uma instância de AnnotateOptions e defina as informações do arquivo como AnnotateOptions
  • Atribuir anotação a AnnotateOptions
  • Crie uma solicitação chamando o método AnnotateRequest
  • Obtenha resultados chamando o método AnnotateApi.annotate()

O exemplo de código a seguir mostra como adicionar anotações de imagem no documento PDF usando uma API REST. Siga as etapas mencionadas anteriormente para fazer upload e download de um arquivo.

# inicializar API
api = groupdocs_annotation_cloud.AnnotateApi.from_config(configuration)

# definir anotação
a1 = groupdocs_annotation_cloud.AnnotationInfo()
a1.box = groupdocs_annotation_cloud.Rectangle()
a1.box.x = 300
a1.box.y = 300
a1.box.width = 200
a1.box.height = 100
a1.page_number = 0
a1.pen_color = 1201033
a1.pen_style = "Solid"
a1.pen_width = 1
a1.opacity = 0.7
a1.type = "Image"
a1.text = "This is Image annotation"
a1.creator_name = "Anonym A."
a1.image_path = "JohnSmith.png"

# caminho do arquivo de entrada
file_info = groupdocs_annotation_cloud.FileInfo()
file_info.file_path = "sample.pdf"

# definir anotação options
options = groupdocs_annotation_cloud.AnnotateOptions()
options.file_info = file_info
options.annotations = [a1]
options.output_path = "output_img.pdf"

# criar solicitação de anotação
request = groupdocs_annotation_cloud.AnnotateRequest(options)
result = api.annotate(request)         

print("AddImageAnnotation: Image Annotation added: " + result['href'])
Adicionar anotações de imagem usando Python

Adicionar anotações de imagem usando Python

Você pode adicionar anotações de hiperlink nos documentos PDF programaticamente seguindo as etapas abaixo:

  • Crie uma instância de AnnotateApi
  • Crie uma instância de AnnotationInfo
  • Definir pontos de anotação e definir posição para cada ponto
  • Defina várias propriedades de anotação, por exemplo, texto, altura, largura, etc.
  • Definir o tipo de anotação como Link
  • Crie uma instância de FileInfo e defina o caminho do arquivo de entrada
  • Crie uma instância de AnnotateOptions e defina as informações do arquivo como AnnotateOptions
  • Atribuir anotação a AnnotateOptions
  • Crie uma solicitação chamando o método AnnotateRequest
  • Obtenha resultados chamando o método AnnotateApi.annotate()

O exemplo de código a seguir mostra como adicionar anotações de hiperlink no documento PDF usando uma API REST. Siga as etapas mencionadas anteriormente para fazer upload e download de um arquivo.

# inicializar API
api = groupdocs_annotation_cloud.AnnotateApi.from_config(configuration)

# fornecer informações de anotação
a1 = groupdocs_annotation_cloud.AnnotationInfo()
p1 = groupdocs_annotation_cloud.Point()
p1.x = 80
p1.y = 710
p2 = groupdocs_annotation_cloud.Point()
p2.x = 240
p2.y = 710
p3 = groupdocs_annotation_cloud.Point()
p3.x = 80
p3.y = 650
p4 = groupdocs_annotation_cloud.Point()
p4.x = 240
p4.y = 650
a1.points = [p1, p2, p3, p4]
a1.page_number = 0
a1.type = "Link"
a1.text = "This is Link annotation"
a1.creator_name = "Anonym A."
a1.url = "https://www.groupdocs.com/"

# caminho do arquivo de entrada
file_info = groupdocs_annotation_cloud.FileInfo()
file_info.file_path = "sample.pdf"

# definir opções de anotação
options = groupdocs_annotation_cloud.AnnotateOptions()
options.file_info = file_info
options.annotations = [a1]
options.output_path = "output.pdf"

# criar solicitação de anotação
request = groupdocs_annotation_cloud.AnnotateRequest(options)
result = api.annotate(request)         

print("AddLinkAnnotation: Link Annotation added: " + result['href'])
Anotar com anotações de link usando Python

Anotar com anotações de link usando Python

Experimente on-line

Experimente a seguinte ferramenta de anotação de PDF on-line gratuita, desenvolvida usando a API acima. https://products.groupdocs.app/annotation/pdf

Conclusão

Neste artigo, você aprendeu como adicionar vários tipos de anotações a documentos PDF na nuvem. Além disso, você aprendeu como carregar programaticamente o arquivo PDF na nuvem e, em seguida, baixar o arquivo anotado da nuvem. Você pode aprender mais sobre GroupDocs.Annotation Cloud API usando a documentação. Também fornecemos uma seção Referência de API que permite visualizar e interagir com nossas APIs diretamente pelo navegador. Em caso de ambiguidade, sinta-se à vontade para nos contatar no fórum.

Veja também