Python extrai ou remove anotações de arquivos do Word.

Como desenvolvedor Python, você pode anotar qualquer arquivo do Word (.doc ou .docx) programaticamente na nuvem. Você também pode extrair ou remover todas as anotações de arquivos do Word usando Python. As anotações incluem comentários, pop-ups e vários outros objetos gráficos no documento que fornecem informações adicionais. Este artigo se concentrará em como extrair ou remover anotações de 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

Para extrair ou remover anotações de arquivos 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. Depois de ter seu ID e segredo, adicione o código conforme mostrado abaixo:

client_id = "da0c487d-c1c0-45ae-b7bf-43eaf53c5ad5"
client_secret = "479db2b01dcb93a3d4d20efb16dea971"

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

Extraia ou remova anotações de arquivos DOCX usando uma API REST em Python

Você pode extrair ou excluir todas as anotações dos arquivos DOCX seguindo as etapas simples mencionadas abaixo:

Carregue o Documento

Em primeiro lugar, carregue o arquivo DOCX para a nuvem usando o exemplo de código abaixo:

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

# subir arquivo
request = groupdocs_annotation_cloud.UploadFileRequest("input.docx", "C:\\Files\\input.docx", my_storage)
response = file_api.upload_file(request)

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

Extrair anotações de arquivos DOCX em Python

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

  • Crie uma instância de AnnotateApi
  • Crie uma instância de FileInfo
  • Defina o caminho do arquivo
  • Crie uma solicitação chamando o método ExtractRequest
  • Obtenha resultados chamando o método AnnotateApi.extract()

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

# instância da API
api = groupdocs_annotation_cloud.AnnotateApi.from_config(configuration)

# detalhes do arquivo de entrada
file_info = groupdocs_annotation_cloud.FileInfo()
file_info.file_path = "input.docx"

# extrair solicitação de anotação
request = groupdocs_annotation_cloud.ExtractRequest(file_info)
result = api.extract(request)        

print("ExtractAnnotations: annotations count: " + str(len(result)))

O exemplo de código acima retornará uma matriz de todas as anotações no formato JSON, conforme mostrado abaixo:

Extrair anotações do arquivo DOCX usando Python

Extrair anotações do arquivo DOCX usando Python

Remover anotações de arquivos DOCX em Python

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

  • Crie uma instância de AnnotateApi
  • Crie uma instância de FileInfo
  • Defina o caminho do arquivo
  • Definir opções de remoção
  • Definir informações do arquivo para AnnotateOptions
  • Forneça IDs de anotação para remover
  • Definir caminho do arquivo de saída
  • Crie uma solicitação chamando o método RemoveAnnotationsRequest
  • Obtenha resultados chamando o método AnnotateApi.remove\annotations()

O trecho de código a seguir mostra como remover anotações do documento do Word usando uma API REST. Você precisa mencionar os IDs de anotação que precisam ser removidos do documento.

# instância da API
api = groupdocs_annotation_cloud.AnnotateApi.from_keys(client_id, client_secret)

# detalhes do arquivo de entrada
file_info = groupdocs_annotation_cloud.FileInfo()
file_info.file_path = "input.docx"

# remover opções
options = groupdocs_annotation_cloud.RemoveOptions()
options.file_info = file_info
options.annotation_ids = [0,1,2,3,4,5,6,7,8,9,10,11]

# arquivo de saída
options.output_path = "output.docx"

# remover solicitação
request = groupdocs_annotation_cloud.RemoveAnnotationsRequest(options)
result = api.remove_annotations(request)

print("RemoveAnnotations: Annotations removed: " + result['href'])
Remover anotações do arquivo DOCX usando Python

Remover anotações do arquivo DOCX usando Python

Baixe o arquivo de saída

O exemplo de código acima salvará o arquivo DOCX de saída (output.docx) após a remoção das anotações na nuvem. Você pode baixá-lo usando o seguinte exemplo de código:

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

# solicitação de download de arquivo
request = groupdocs_annotation_cloud.DownloadFileRequest("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\\")

Experimente on-line

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

Conclusão

Neste artigo, você aprendeu como extrair ou remover anotações de documentos do Word na nuvem usando Python. Você também aprendeu como carregar programaticamente o arquivo DOCX na nuvem e baixar o arquivo da nuvem. Você pode aprender ainda 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