Como extrair todas as imagens do documento do Word em Python

Este tutorial rápido contém informações sobre como extrair todas as imagens de um documento do Word em Python. Ele fornece todos os recursos para configurar o ambiente e apresenta as construções de API importantes que são necessárias para realizar a tarefa, incluindo nomes de classes, métodos e propriedades. Você pode seguir as etapas e escrever um programa completo para extrair imagens do documento do Word em python, como extrair imagens de um arquivo DOCX e salvá-lo como um tipo de imagem PNG, JPG, etc. no disco.

Etapas para extrair imagens do arquivo do Word em Python

  1. Configure o ambiente para usar Aspose.Words para Python via .NET para extrair imagens
  2. Carregue o arquivo do Word de origem com imagens usando o objeto de classe Document
  3. Obtenha uma lista de todas as formas do documento carregado usando o método get_child_nodes()
  4. Analise todos os elementos na coleção de formas e detecte imagens
  5. Crie nomes de arquivo exclusivos para cada imagem detectada na coleção de formas
  6. Salve a imagem extraída no disco com o nome exclusivo

Essas etapas descrevem o processo para extrair imagens do documento do Word em Python compartilhando a configuração do ambiente e as etapas para escrever o programa. Após estabelecer o ambiente, carregue o arquivo Word com imagens usando o objeto da classe Document e obtenha a coleção de todas as formas dele. Como a classe Shape possui métodos para detectar imagens, você pode extrair as imagens e salvá-las no disco com o nome especificado.

Código para extrair fotos do documento do Word em Python

import aspose.words as aw
# Load the license
wordProtected = aw.License()
wordProtected.set_license("Aspose.Total.lic")
# Load a document
wordDocument = aw.Document("WordFileWithImages.docx")
# Get shapes collection
allShapes = wordDocument.get_child_nodes(aw.NodeType.SHAPE, True)
# Declare counter for images
index = 0
# Iterate through all the shapes to detect and save images
for shape in allShapes:
# Type cast the node object to shape
shape = shape.as_shape()
if(shape.has_image):
index = index + 1
# Prepare file name using the image counter and image type in the shape object
image_file_name = f"File.extract_images.{index}{aw.FileFormatUtil.image_type_to_extension(shape.image_data.image_type)}"
# Save the extracted image on the disk
shape.image_data.save(image_file_name)
print ("Images extracted successfully from the Word file")

Aqui é apresentado o código que demonstra o processo para extrair a imagem do Word em Python carregando o arquivo de origem usando o objeto da classe Document que possui muitos recursos, como fornecer a senha para arquivos protegidos, definir a codificação e anexar o aviso callbacks para controlar o processo de carregamento. Da mesma forma, o método get_child_nodes() é usado para extrair formas, no entanto, você pode buscar outros nós também como cabeçalhos, rodapés, tabelas, comentários, notas de rodapé e corpo, etc.

Este artigo nos guiou para buscar todas as fotos de um arquivo do Word em Python. Se você quiser aprender o processo para inserir uma foto em um arquivo do Word, consulte o artigo em como inserir imagem no Word usando Python.

 Português