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
- Configure o ambiente para usar Aspose.Words para Python via .NET para extrair imagens
- Carregue o arquivo do Word de origem com imagens usando o objeto de classe Document
- Obtenha uma lista de todas as formas do documento carregado usando o método get_child_nodes()
- Analise todos os elementos na coleção de formas e detecte imagens
- Crie nomes de arquivo exclusivos para cada imagem detectada na coleção de formas
- 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.