Extract Images from DOCX with C# using IronWord

This article was translated from English: Does it need improvement?
Translated
View the article in English

O método ExtractImages() do IronWord permite que você extraia programaticamente todas as imagens incorporadas de documentos do Word, fornecendo acesso aos dados das imagens e metadados, como dimensões e formato, para salvamento ou processamento.

Início rápido: Extrair imagens de DOCX em C#

  1. Instale IronWord com o Gerenciador de Pacotes NuGet

    PM > Install-Package IronWord
  2. Copie e execute este trecho de código.

    // Install IronWord: Install-Package IronWord
    using IronWord;
    using IronSoftware.Drawing;
    
    // Load your Word document
    WordDocument doc = new WordDocument("document.docx");
    
    // Extract all images
    var images = doc.ExtractImages();
    
    // Save each image with custom naming
    int imageIndex = 0;
    foreach (var image in images)
    {
        // Cast to AnyBitmap to access SaveAs method
        ((AnyBitmap)image.Image).SaveAs($"output-{imageIndex}.png");
    
        // Access image properties
        Console.WriteLine($"Image {imageIndex}: {image.Width}x{image.Height}");
        imageIndex++;
    }
  3. Implante para testar em seu ambiente de produção.

    Comece a usar IronWord em seu projeto hoje com uma avaliação gratuita

    arrow pointer

Extrair imagens de documentos do Word é um requisito comum para migração de conteúdo, gerenciamento de mídia e processamento programático de documentos. Seja para criar um sistema de gerenciamento de conteúdo, automatizar fluxos de trabalho de documentos ou criar arquivos digitais, o IronWord simplifica o acesso a imagens incorporadas, permitindo que sejam salvas, reutilizadas ou analisadas por meio de propriedades como dimensões e formato.

Comece a usar o IronWord


Como extrair imagens de um documento do Word?

Extrair imagens de um documento do Word é muito simples com o IronWord. O arquivo embedded_images.docx será usado como um arquivo de exemplo que inclui 5 imagens em 3 páginas diferentes. O trecho de código abaixo define o fluxo de trabalho central para o processo de extração de imagens usando o método ExtractImages().

Ao trabalhar com bibliotecas de processamento de documentos, é essencial compreender os requisitos de licenciamento para garantir que sua aplicação esteja em conformidade com os termos de uso. O IronWord segue padrões de licenciamento semelhantes aos de outros produtos da Iron, oferecendo licenças perpétuas com opções abrangentes de suporte. Para implantações em produção, você precisará aplicar chaves de licença para remover quaisquer marcas d'água ou restrições.

:path=/static-assets/word/content-code-examples/how-to/extract-images-properties.cs
using System;
using IronWord;
using IronSoftware.Drawing;

// Load an existing Word document
WordDocument doc = new WordDocument("embedded_images.docx");

// Extract all images from the document
var images = doc.ExtractImages();

// Iterate through extracted images
int count = 0;
foreach (var image in images)
{
    // Save each image to disk
    string fileName = $"extracted-image-{count}.png";
    ((AnyBitmap)image.Image).SaveAs(fileName);

    Console.WriteLine($"Extracted image {count}:");
    Console.WriteLine($"Width: {image.Width}");
    Console.WriteLine($"Height: {image.Height}");
    Console.WriteLine($"Saved as: {fileName}");

    count++;
}

Console.WriteLine($"Total images extracted: {count}");
$vbLabelText   $csharpLabel

O método ExtractImages retorna uma coleção enumerável de objetos de imagem, cada um contendo os dados completos da imagem junto com os metadados. Para salvar imagens, converta a propriedade Image para AnyBitmap usando ((AnyBitmap)image.Image).SaveAs() para acessar o método SaveAs. Isso requer adicionar using IronSoftware.Drawing; às suas declarações de namespace.

Essa abordagem permite fluxos de trabalho de processamento flexíveis — você pode salvar imagens em disco, como mostrado acima, convertê-las para diferentes formatos ou transmiti-las diretamente para serviços de armazenamento em nuvem. O método lida com vários formatos de imagem comumente incorporados em documentos do Word, incluindo JPEG, PNG, BMP e GIF.

Qual é a aparência do documento de exemplo?

Documento do Word com imagens incorporadas: logotipo do Google, silhuetas de cabeças, cena da galáxia, leão e pedras zen.

Que resultado devo esperar?

Console de depuração mostrando 5 imagens extraídas com dimensões e nomes de arquivo de extracted-image-0.png a extracted-image-4.png

As imagens extraídas mantêm seu formato original (por exemplo, .jpg, .png ou outros formatos) e podem ser salvas com extensões de arquivo apropriadas. Você pode percorrer todas as imagens do documento ou selecionar seções específicas com base em suas necessidades.

Cenários avançados de extração de imagens

Além da extração básica, os recursos de manipulação de imagens do IronWord suportam diversos cenários avançados que os desenvolvedores encontram frequentemente em aplicações de produção:

Processamento em lote de vários documentos : Ao processar grandes coleções de documentos, você pode implementar o processamento paralelo para extrair imagens de vários arquivos do Word simultaneamente. Essa abordagem reduz significativamente o tempo de processamento para arquivos de documentos ou projetos de migração de conteúdo.

Conversão de formato de imagem : Os objetos de imagem extraídos suportam a conversão entre formatos. Você pode extrair um JPEG de um documento do Word e salvá-lo como PNG para otimização na web, ou convertê-lo para WebP para compatibilidade com navegadores modernos.

Preservação de metadados : Cada imagem extraída retém metadados importantes, incluindo dimensões, resolução e profundidade de cor. Essa informação se mostra valiosa na implementação de fluxos de trabalho de otimização de imagens ou na manutenção de padrões de qualidade em toda a sua aplicação.

Para aplicações empresariais que exigem suporte contínuo e atualizações regulares, considere explorar extensões de licença que ofereçam acesso permanente a novos recursos e suporte prioritário. Se o escopo do seu projeto se expandir, as opções de atualização permitem uma escalabilidade perfeita para incluir desenvolvedores adicionais ou locais de implantação.

Integração com fluxos de trabalho de documentos

A extração de imagens geralmente faz parte de fluxos de trabalho mais amplos de processamento de documentos. Considere estes padrões de integração comuns:

Sistemas de gerenciamento de conteúdo : Extraia imagens durante o upload de documentos para criar pré-visualizações em miniatura, construir galerias de imagens ou preencher bibliotecas de mídia. As imagens extraídas podem ser indexadas para funcionalidades de busca ou etiquetadas com metadados do documento.

Fluxos de conversão de documentos : Ao converter documentos do Word para outros formatos, as imagens extraídas podem ser processadas separadamente para obter a melhor qualidade. Essa separação permite a otimização específica de cada formato — por exemplo, a aplicação de configurações de compressão diferentes para saída na web e para impressão.

Fluxos de trabalho de garantia de qualidade : a extração automatizada permite a revisão sistemática de imagens incorporadas para verificar a conformidade com as diretrizes da marca, os requisitos de resolução ou as restrições de tamanho de arquivo. Você pode sinalizar documentos que contenham imagens de baixa resolução ou formatos incorretos antes da publicação.

Para se manter atualizado sobre os recursos e melhorias mais recentes nas capacidades de processamento de documentos, consulte o registro de alterações do produto regularmente. As novas versões geralmente incluem melhorias de desempenho e suporte expandido a formatos que podem beneficiar seus fluxos de trabalho de extração de imagens.

Considerações sobre o desempenho

Ao trabalhar com documentos que contenham inúmeras imagens ou imagens de alta resolução, considere estas estratégias de otimização de desempenho:

Gerenciamento de memória : processe as imagens em lotes em vez de carregar todas as imagens na memória simultaneamente. Essa abordagem evita o esgotamento da memória ao lidar com documentos grandes ou imagens de alta resolução.

Processamento assíncrono : Implemente padrões async/await para operações de E/S, especialmente ao salvar imagens extraídas em disco ou armazenamento de rede. Isso mantém seu aplicativo responsivo durante operações de extração demoradas.

Extração seletiva : Se você precisar apenas de imagens específicas, considere implementar filtros com base nas propriedades da imagem ou na estrutura do documento para evitar o processamento de conteúdo desnecessário.

O design robusto da API garante um comportamento consistente em diferentes tipos de documentos e formatos de imagem, facilitando a criação de recursos confiáveis ​​de extração de imagens em seus aplicativos .NET .

Perguntas frequentes

Como extrair imagens de um arquivo DOCX em C#?

Você pode extrair imagens de arquivos DOCX usando o método ExtractImages() do IronWord. Basta carregar seu documento do Word com WordDocument doc = new WordDocument("document.docx"), e então chamar doc.ExtractImages() para recuperar todas as imagens incorporadas. Cada imagem pode ser salva usando o método SaveAs() com o formato e nome de arquivo desejados.

Quais propriedades de imagem posso acessar ao extrair imagens de documentos do Word?

O IronWord fornece acesso a metadados importantes da imagem, incluindo as dimensões de largura e altura. O método ExtractImages() retorna uma coleção de objetos de imagem que contêm tanto os dados brutos da imagem quanto essas propriedades de metadados, permitindo que você analise ou processe imagens programaticamente com base em suas características.

Posso salvar as imagens extraídas em formatos diferentes?

Sim, o IronWord permite salvar imagens extraídas em vários formatos. Use o método SaveAs() em cada objeto de imagem e especifique o nome de arquivo desejado com a extensão apropriada (por exemplo, .png, .jpg). A biblioteca lida com a conversão de formato automaticamente com base na extensão de arquivo fornecida.

Como faço para instalar a biblioteca para extrair imagens de documentos do Word?

Instale o IronWord através do Gerenciador de Pacotes NuGet usando o comando: Install-Package IronWord. Após a instalação, adicione 'using IronWord;' ao seu arquivo C# para acessar a funcionalidade de extração de imagens e outros recursos de processamento de documentos.

É possível extrair imagens de documentos do Word com várias páginas?

Sim, o método ExtractImages() do IronWord extrai todas as imagens de um documento Word inteiro, independentemente do número de páginas. O método retorna uma coleção completa de todas as imagens incorporadas encontradas em todo o documento, estejam elas em uma única página ou distribuídas por várias páginas.

Ahmad Sohail
Desenvolvedor Full Stack

Ahmad é um desenvolvedor full-stack com uma sólida base em C#, Python e tecnologias web. Ele tem um grande interesse em construir soluções de software escaláveis e gosta de explorar como design e funcionalidade se encontram em aplicações do mundo real.

Antes de se ...

Leia mais
Pronto para começar?
Nuget Downloads 35,581 | Versão: 2026.3 acaba de ser lançado
Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas? PM > Install-Package IronWord
executar um exemplo Veja seus dados se transformarem em um documento do Word.