C# 提取Word文档中的图片

图片和文字是word文档中两种最常见的对象,在微软word中,如果我们想要提取出一个文档内的图片,只需要右击图片选择另存为然后命名保存就可以了,今天这篇文章主要是实现使用C#从word文档中提取图片。

这里我准备了一个含有文字和图片的word文档:

详细步骤与代码:

步骤1添加引用。

新建一个Visual C#控制台项目,添加引用并使用如下命名空间:

1

2

3

4

using System;

using Spire.Doc;

using Spire.Doc.Documents;

using Spire.Doc.Fields;

步骤2新建一个word文档对象并加载需要提取图片的word文档。

1

Document document = new Document("法国景点.docx ");

步骤3遍历文档中的所有section,找到图片,将它们提取出来并保存。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

int index = 0;

//获取文档的section

foreach (Section section in document.Sections)

{

    //获取section中的段落

    foreach (Paragraph paragraph in section.Paragraphs)

    {

        //获取段落中的文档对象

        foreach (DocumentObject docObject in paragraph.ChildObjects)

        {

            //对对象的type进行判断,如果是图片,就提取出来

            if (docObject.DocumentObjectType == DocumentObjectType.Picture)

            {

                DocPicture picture = docObject as DocPicture;

                //给图片命名

                String imageName = String.Format(@"images\Image-{0}.png", index);

                //保存图片

                picture.Image.Save(imageName, System.Drawing.Imaging.ImageFormat.Png);

                index++;

            }

        }

    }

}

提取出来的图片:

全部代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

using System;

using Spire.Doc;

using Spire.Doc.Documents;

using Spire.Doc.Fields;

using System.Drawing;

namespace Extract_image_from_word

{

    class Program

    {

        static void Main(string[] args)

        {

            Document document = new Document("法国景点.docx");

            int index = 0;

            foreach (Section section in document.Sections)

            {

                foreach (Paragraph paragraph in section.Paragraphs)

                {

                    foreach (DocumentObject docObject in paragraph.ChildObjects)

                    {

                        if (docObject.DocumentObjectType == DocumentObjectType.Picture)

                        {

                            DocPicture picture = docObject as DocPicture;

                            String imageName = String.Format(@"images\Image-{0}.png", index);

                            picture.Image.Save(imageName, System.Drawing.Imaging.ImageFormat.Png);

                            index++;

                        }

                    }

                }

            }

        }

    }

}

总结:

这里我使用的是E-iceblue公司的免费word组件,它除了可以从文档中提取图片,还可以提取文本,这里我只写了提取图片的,提取文本的也差不多,如有需要可以留言。

来源:https://www.cnblogs.com/Yesi/p/5190735.html

C# 提取Word文档中的图片(用Spire)相关推荐

  1. Python3-word文档操作(八):提取word文档中的图片方式一-利用docx库

    1. 简介: 要获取word文档中的图片文件.思路就是先解压,再查找.python中,下面两个库都可以实现这个功能: (1)zip库 (2)docx库 zip库: 上一篇博文已经提过,word本质上也 ...

  2. Python提取word文档中的图片,识别图片文字之后再转存为word文档

    #!/usr/bin/env python # coding: utf-8 import zipfile #压缩包 import os #文件库 import shutil import pytess ...

  3. python批量提取word文档中的图片(含图片格式转换和GUI)

    作者:小小明 文章目录 doc格式批量转为docx 批量提取docx文档的图片 批量图片格式转换 完整代码 GUI图形化工具开发 打包exe 给GUI加入进度条 日常工作中,领导要求你将一份 Word ...

  4. C# 提取Word文档中的图片

    图片和文字是word文档中两种最常见的对象,在微软word中,如果我们想要提取出一个文档内的图片,只需要右击图片选择另存为然后命名保存就可以了.今天这篇文章主要是实现如何使用C#从word文档中提取图 ...

  5. python批量读取图片并复制入word_提取word文档中的图片并使用Python进行批量格式转换,出,Word,里,利用,python...

    日常工作中,你是否遇到过这样的场景,领导发来一份 Word 文档,要求你将文档中的图片存储到一个文件夹内,并且还要将图片都改成 .jpg 或者 .png,你会怎么办?你是不是一边内心崩溃,一边开始一张 ...

  6. c#提取word文档中的图片

    最近搞了下从word中提取图片,之前都没接触过c#,开始还是有点小担心,怕不会弄,任务在身,不得不搞,发现c#还是很好用的.^_^ 接下来说说word提取图片的事.c#提供了Microsoft.Off ...

  7. 使用Python批量提取Word文档中的图片

    1.导入需要的包 import zipfile import shuti 2.设置文档路径和图片路径 ,并用zipfile读取Word文件 doc_path = './a.docx' #在这里更换你想 ...

  8. C# 替换Word文档中的图片

    C# 替换Word文档中的图片 图片是Word文档中非常常见的一种元素,我们在处理Word文档时经常会对图片进行如添加,提取,替换和删除等操作.之前我已经介绍过如何提取Word文档中的图片,这篇文章将 ...

  9. 【Python】批量导出word文档中的图片、嵌入式文件

    Python 批量导出word文档中的图片.嵌入式文件 需求 学生试卷中的题目有要提交截图的,也有要提交文件的,为了方便学生考试,允许单独交或者嵌入Word中提交,那么事后如何整理学生的答案?单独提交 ...

最新文章

  1. php-7.3.13 configure: error: Please reinstall the libzip distribution
  2. LeetCode: 20. Valid Parentheses
  3. 投资圈中的“错过”之美:被大佬拒绝之后,他们成为了首富
  4. 01 MySQL锁概述
  5. 2016蓝桥杯省赛---java---B---3(平方怪圈)
  6. 多态的概念,特点与使用
  7. java 生产者消费者同步_经典线程同步问题(生产者消费者)--Java实现
  8. python写音乐_Python国产库推荐之musicpy:让你用代码来写音乐
  9. (原创)C++ IOC框架
  10. 二分插入排序(折半插入排序)--排序算法(六)
  11. Android对接蓝牙打印机
  12. 百度有啊创始团队写博客 自曝高层动荡内幕
  13. 解决mac休眠睡眠异常耗电方法
  14. 数据库课程设计------书店管理系统
  15. Nvidia Jetson deepstream配置多路RTSP视频源
  16. 云南计算机专升本经验分享
  17. UOJ #311「UNR #2」积劳成疾
  18. 科学计数法转为普通计数法
  19. 2021中国农业银行(浙江省分信息科技岗)春招笔试编程题(待更)
  20. ArcGIS案例学习笔记2_1

热门文章

  1. 显示器点距 测试软件,显示器各尺寸点距一览
  2. 基2FFT算法matlab程序编写,按时间抽取的基2FFT算法分析及MATLAB实现
  3. 【Ubuntu系统配置】006Ubuntu20.04安装QQ for Linux v3.0(del文件安装卸载)
  4. 公钥、密钥和数字证书
  5. phpstudy打不开localhost【已解决】
  6. Win10下安装swig
  7. 【木头Cocos2d-x 026】Lua篇(第01章):让Lua和C++牵手
  8. SQLMap使用|命令大全(干货)
  9. 操作系统课程设计--简单文件系统的实现
  10. ubuntu系统忘记密码(win+ubuntu双系统)