IRONSOFTWAREHOME

使用IronWord从DOCX提取图像(C#)

Ahmad Sohail
Ahmad Sohail
Updated: 2026年5月9日

IronWord的ExtractImages()方法使您能够以编程方式从Word文档中提取所有嵌入的图像,提供对图像数据和元数据(如尺寸和格式)的访问,以进行保存或处理。

快速入门:使用 C# 从 DOCX 中提取图像
  1. 1Install IronWord with NuGet Package Manager

    PM > Install-Package IronWord

  2. 2复制并运行这段代码。

    // 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++;
    }
    C#
  3. 3部署到您的生产环境中进行测试

    通过免费试用立即在您的项目中开始使用IronWord
    arrow pointer

从 Word 文档中提取图像是内容迁移、媒体管理和程序化文档处理的常见需求。 无论您是要构建内容管理系统、实现文档工作流程自动化,还是要创建数字档案,IronWord 都能简化对嵌入式图片的访问,允许保存、重复使用或通过尺寸和格式等属性对其进行分析。

开始使用 IronWord


如何从 Word 文档中提取图像?

using IronWord 从 Word 文档中提取图像非常简单。 文件embedded_images.docx将用作包含3个不同页面上的5个图像的示例文件。 以下代码片段定义了使用ExtractImages()方法的图像提取过程的核心工作流程。

在使用文档处理库时,必须了解许可要求,以确保您的应用程序符合使用条款。 IronWord 采用与其他 Iron 产品类似的许可模式,提供永久许可和全面的支持选项。 对于生产部署,您需要应用许可证密钥来移除任何水印或限制。

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}");

ExtractImages方法返回一个可枚举的图像对象集合,每个对象都包含完整的图像数据以及元数据。 要保存图像,请使用SaveAs方法。 这需要将using IronSoftware.Drawing;添加到您的命名空间声明中。

这种方法允许灵活的处理工作流程--您可以将图像保存到磁盘,如上图所示,也可以将其转换为不同的格式,或直接将其流到云存储服务。 该方法可处理 Word 文档中常见的各种图像格式,包括 JPEG、PNG、BMP 和 GIF。

示例文档是什么样的?

内嵌图片的 Word 文档:谷歌徽标、头像剪影、星系场景、狮子和禅石

我应该期待什么样的产出?

调试控制台显示 5 幅提取的图像,尺寸和文件名分别为 extracted-image-0.png 至 extracted-image-4.png

提取的图像保留其原始格式(例如,.png或其他格式),并且可以使用适当的文件扩展名保存。 您可以遍历文档中的所有图像,也可以根据您的要求选择特定部分。

高级图像提取场景

除了基本的提取功能外,IronWord 的图像处理功能还支持开发人员在生产应用程序中经常遇到的几种高级场景:

批量处理多个文档:在处理大型文档集时,您可以实施并行处理,同时从多个 Word 文件中提取图像。 这种方法大大缩短了文档归档或内容迁移项目的处理时间。

图像格式转换:提取的图像对象支持格式之间的转换。 您可能会从 Word 文档中提取 JPEG 并将其保存为 PNG 以进行网络优化,或者将其转换为 WebP 以兼容现代浏览器。

元数据保留:每张提取的图像都保留了重要的元数据,包括尺寸、分辨率和颜色深度。 在实施图像优化管道或在整个应用程序中保持质量标准时,这些信息将非常有价值。

对于需要持续支持和定期更新的企业应用程序,可以考虑使用许可证扩展,这样可以持续获得新功能和优先支持。 如果您的项目范围扩大,升级选项允许无缝扩展,以覆盖更多的开发人员或部署地点。

与文档工作流集成

图像提取通常是大型文档处理工作流程的一部分。 考虑这些常见的集成模式:

内容管理系统:在文档上传过程中提取图片,以创建缩略图预览、构建图片库或填充媒体库。 提取的图像可以为搜索功能编制索引或标记文档元数据。

文档转换管道:将 Word 文档转换为其他格式时,可以单独处理提取的图像,以获得最佳质量。 这种分离允许针对特定格式进行优化--例如,针对网络输出和打印输出应用不同的压缩设置。

质量保证工作流程:通过自动提取,可对嵌入式图片进行系统审查,以确保其符合品牌准则、分辨率要求或文件大小限制。 您可以在发布前标记包含低分辨率图片或不正确格式的文档。

要了解文档处理功能的最新功能和改进,请定期查看 产品更新日志。 新版本通常包括性能增强和扩展的格式支持,可使您的图像提取工作流程受益匪浅。

性能考虑

在处理包含大量或高分辨率图片的文档时,请考虑以下性能优化策略:

内存管理:分批处理图像,而不是同时将所有图像加载到内存中。 在处理大型文档或高分辨率图像时,这种方法可以防止内存耗尽。

异步处理:为I/O操作实现async/await模式,特别是在将提取的图像保存到磁盘或网络存储时。 这将使您的应用程序在长时间的提取操作中保持反应灵敏。

选择性提取:如果您只需要特定的图像,请考虑根据图像属性或文档结构实施过滤器,以避免处理不必要的内容。

强大的 API 设计可确保在不同的文档类型和图像格式中使用一致的行为,从而可以直接在您的 .NET 应用程序中构建可靠的图像提取功能。

常见问题解答

如何用 C# 从 DOCX 文件中提取图像?

您可以使用 IronWord 的 ExtractImages() 方法从 DOCX 文件中提取图片。只需使用 WordDocument doc = new WordDocument("document.docx")加载 Word 文档,然后调用 doc.ExtractImages() 提取所有嵌入的图像。每张图片都可以使用 SaveAs() 方法以您喜欢的格式和文件名保存。

从 Word 文档中提取图像时,可以访问哪些图像属性?

IronWord 可访问重要的图像元数据,包括宽度和高度尺寸。ExtractImages() 方法会返回一个图像对象集合,其中既包含原始图像数据,也包含这些元数据属性,因此您可以根据图像的特征对其进行编程分析或处理。

能否将提取的图像保存为不同格式?

是的,IronWord 允许您将提取的图像保存为各种格式。在每个图像对象上使用 SaveAs() 方法,并指定所需的文件名和适当的扩展名(如 .png、.jpg)。程序库会根据您提供的文件扩展名自动处理格式转换。

如何安装从 Word 文档中提取图像的库?

使用命令通过 NuGet 软件包管理器安装 IronWord:Install-Package IronWord。安装完成后,在 C# 文件中添加 "using IronWord;",即可访问图像提取功能和其他文档处理功能。

能否从多页 Word 文档中提取图像?

是的,IronWord 的 ExtractImages() 方法可以从整个 Word 文档中提取所有图像,而不管文档包含多少页。该方法会返回文档中所有嵌入图片的完整集合,无论这些图片是在一页上还是分布在多页上。

How does IronWord handle high-resolution images or documents with numerous images during extraction?

IronWord supports memory management and asynchronous processing. This allows efficient handling of high-resolution images or documents with numerous images by using batch processing and `async/await` for I/O operations.

Can I filter which images to extract from a Word document using IronWord?

Yes, IronWord allows you to filter images based on their properties or document structure, enabling selective extraction of only the images you need.

How does IronWord integrate with content management systems for image extraction?

IronWord facilitates integration with content management systems by allowing extracted images to be used for creating previews, building galleries, or populating media libraries while linking them to document metadata.

What are some advanced scenarios supported by IronWord's image extraction capabilities?

IronWord's advanced image extraction capabilities include batch processing, image format conversion, and metadata preservation, which cater to complex production requirements like content migration and optimization workflows.

Are there licensing requirements for using IronWord in production environments?

Yes, IronWord requires appropriate licensing for production environments. It's crucial to apply license keys to remove any restrictions and consider extensions or upgrades for ongoing support and scalability.

Ahmad Sohail
全栈开发者

Ahmad 是一名全栈开发人员,拥有扎实的 C#、Python 和 Web 技术基础。他对构建可扩展的软件解决方案深感兴趣,并喜欢探索设计和功能在实际应用中如何结合。

...
阅读更多

准备开始了吗?

Nuget Downloads 56,401版本:2026.9刚刚发布

立即获取您的免费30 天试用密钥
无需信用卡或创建账户
C# 用于 PDF 的 NuGet 库
通过 NuGet 安装

版本: 2026.9

PM > Install-Package IronWord
nuget.org/packages/IronWord/
  1. 在解决方案资源管理器中,右键点击引用,管理 NuGet 包
  2. 选择浏览并搜索“IronWord”
  3. 选择包并安装
C# PDF DLL
下载 DLL

版本: 2026.9

  1. 下载并解压IronWord到你的解决方案目录中的~/Libs等位置
  2. 在Visual Studio解决方案资源管理器中,右键单击引用。选择浏览,“IronWord.dll”

许可证价格从$999

Key in blue circle

立即获取免费的 30 天试用版密钥

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
预约您的免费现场演示
Booking Badge

深受全球数百万工程师信赖

Iron Software 的客户徽标
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥
无需信用卡或创建账户