Como desenvolvedor Python, você pode anotar qualquer arquivo do Word (.doc ou .docx) programaticamente na nuvem. As anotações geralmente são metadados na forma de comentários, notas, explicações ou outros tipos de observações externas no documento que fornecem informações adicionais sobre um dado existente. Este artigo se concentrará em como anotar arquivos DOCX 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

GroupDocs.Annotation Cloud

Para anotar documentos DOC ou DOCX, usarei a API Python SDK of GroupDocs.Annotation Cloud. Ele permite que você crie programaticamente ferramentas de anotação de imagens e documentos online. Essas ferramentas podem ser usadas para adicionar anotações, sobreposições de marcas d’água, substituições de texto, redações, notas adesivas 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. Adicione seu ID e segredo no código conforme demonstrado abaixo:

client_id = "112f0f38-9dae-42d5-b4fc-cc84ae644972"
client_secret = "16ad3fe0bdc39c910f57d2fd48a5d618"
my_storage = ""

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

Anotar arquivos DOCX usando uma API REST em Python

Você pode adicionar anotações ao arquivo DOCX seguindo as etapas simples mencionadas abaixo:

Carregue o Documento

Em primeiro lugar, faça o upload do arquivo DOCX para a nuvem usando o exemplo de código abaixo:

# Criar instância da API
file_api = groupdocs_annotation_cloud.FileApi.from_config(configurations)

request = groupdocs_annotation_cloud.UploadFileRequest("one-page.docx", "C:\\Files\\one-page.docx", my_storage)
response = file_api.upload_file(request)

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

Adicionar anotações a arquivos DOCX em Python

Siga as etapas mencionadas abaixo para inserir anotações no documento do Word programaticamente.

  • Crie uma instância de AnnotationInfo
  • Defina várias propriedades de anotação, por exemplo, posição, tipo, texto, etc.
  • Crie uma instância de FileInfo
  • Defina o caminho do arquivo
  • Crie uma instância de AnnotateOptions
  • Definir informações do arquivo para AnnotateOptions
  • Definir anotação como AnnotateOptions
  • Crie uma solicitação chamando o método AnnotateRequest
  • Obtenha resultados chamando o método AnnotateApi.annotate()

O trecho de código a seguir mostra como inserir anotações de área no documento do Word usando uma API REST.

api = groupdocs_annotation_cloud.AnnotateApi.from_keys(client_id, client_secret)

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 = 100
a1.page_number = 0
a1.pen_color = 1201033
a1.pen_style = "Solid"
a1.pen_width = 1
a1.opacity = 0.7

# Adicionar anotação de área
a1.type = "Area"
a1.text = "This is area annotation"
a1.creator_name = "Anonym A."

file_info = groupdocs_annotation_cloud.FileInfo()
file_info.file_path = "one-page.docx"
options = groupdocs_annotation_cloud.AnnotateOptions()
options.file_info = file_info
options.annotations = [a1]
options.output_path = "Output\\output.docx"

request = groupdocs_annotation_cloud.AnnotateRequest(options)
result = api.annotate(request)

Como resultado, as anotações da área serão inseridas no documento conforme mostrado abaixo.

Adicionar anotações a arquivos DOCX em Python

Tipos de anotação suportados

Encontre abaixo a lista de tipos de anotação suportados, você pode adicionar aos seus arquivos DOCX seguindo as etapas mencionadas anteriormente:

  • Área
  • Distância
  • Link
  • Apontar
  • Polilinha
  • Imagem
  • Texto
  • Marca d’água
  • Seta

Baixe o arquivo atualizado

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

# Criar instância da API
file_api = groupdocs_annotation_cloud.FileApi.from_config(configurations)

request = groupdocs_annotation_cloud.DownloadFileRequest("Output\\output.docx", 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 várias anotações usando Python

Siga as etapas mencionadas abaixo para adicionar várias anotações aos seus arquivos DOCX programaticamente.

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

O trecho de código a seguir mostra como adicionar várias anotações ao arquivo DOCX usando uma API REST. Siga as etapas mencionadas anteriormente para fazer upload e download de um arquivo.

api = groupdocs_annotation_cloud.AnnotateApi.from_keys(client_id, client_secret)
  
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 = 200
a1.box.y = 200
a1.box.width = 300
a1.box.height = 100
a1.page_number = 0
a1.pen_color = 1201033
a1.pen_style = "Solid"
a1.pen_width = 1
a1.opacity = 0.2
a1.type = "Watermark"
a1.text = "This is watermark annotation"
a1.creator_name = "Anonym A."
    
a2 = groupdocs_annotation_cloud.AnnotationInfo()
a2.annotation_position = groupdocs_annotation_cloud.Point()
a2.annotation_position.x = 852
a2.annotation_position.y = 59.38
a2.box = groupdocs_annotation_cloud.Rectangle()
a2.box.x = 375.8
a2.box.y = 59.38
a2.box.width = 88
a2.box.height = 37
a2.page_number = 2
a2.pen_color = 1201033
a2.pen_style = "Solid"
a2.pen_width = 1
a2.opacity = 0.9
a2.type = "Image"
a2.text = "This is Image annotation"
a2.creator_name = "Anonym A."
a2.image_path = "JohnSmith.png"
    
file_info = groupdocs_annotation_cloud.FileInfo()
file_info.file_path = "ten-pages.docx"
options = groupdocs_annotation_cloud.AnnotateOptions()
options.file_info = file_info
options.annotations = [a1, a2]
options.output_path = "Output\\output.docx"

request = groupdocs_annotation_cloud.AnnotateRequest(options)
result = api.annotate(request)

Como resultado, as anotações de imagem e marca d’água serão inseridas no documento conforme mostrado abaixo.

anotações de imagem e marca d'água

Conclusão

Neste artigo, você aprendeu como adicionar vários tipos de anotações a documentos do Word na nuvem com a API REST de anotação de documento usando Python. Você também aprendeu como carregar programaticamente o arquivo DOCX 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.