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

接下来说说word提取图片的事。c#提供了Microsoft.Office.Interop.Word,可以操作word文档,提取出图片,当然不仅仅是提取图片,从操作word可以看出,可以干很多事了,要做什么,自己需要什么就做什么。使用这个玩意有点不好的是,你必须安装office软件。

下面贴出来测试用的代码片段,所测试的是计算出文档中的图片数量和提取里面的某一张图片。代码请看:

protected int Extract_image(string command, string word_path, string save_image_path = "c:\\",int page=1)
    {
        path = save_image_path;
        object missing = Type.Missing;
        object FileName = word_path;
        object readOnly = true;
        m_word = new Application();//readOnly
        m_word.Documents.Open(ref FileName,
                                ref missing, ref missing, ref missing, ref missing,
                                ref missing, ref missing, ref missing, ref missing,
                                ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
        if ("A" == command)
        {
            int counts = m_word.ActiveDocument.InlineShapes.Count;
            object save = false;
            m_word.Quit(ref save, ref missing, ref missing);
            m_word = null;
            return counts;
        }
        if("B" == command)
        {
            try
            {
                //    for (i = 1; i <= m_word.ActiveDocument.InlineShapes.Count; i++)
                //   {
                if (page > m_word.ActiveDocument.InlineShapes.Count)
                {
                    m_i = m_word.ActiveDocument.InlineShapes.Count;
                }
                else
                    m_i = page;
                Thread thread = new Thread(save);
                thread.SetApartmentState(ApartmentState.STA);
                thread.Start();
                thread.Join();
                thread.Abort();
                //  }
            }
            finally
            {
                object save = false;
             //   m_word.Documents.Close();
                m_word.Quit(ref save, ref missing, ref missing);
                m_word = null;
            }
           
        } 
        return -1;
    }
    protected void save()
    {
        InlineShape inlineShape = m_word.ActiveDocument.InlineShapes[m_i];
        inlineShape.Select();
        m_word.Selection.Copy();
        Computer computer = new Computer();
        Image img = computer.Clipboard.GetImage();

if (computer.Clipboard.GetDataObject() != null)
        {
            System.Windows.Forms.IDataObject data = computer.Clipboard.GetDataObject();
            if (data.GetDataPresent(System.Windows.Forms.DataFormats.Bitmap))
            {
                Image image = (Image)data.GetData(System.Windows.Forms.DataFormats.Bitmap, true);
                string name = path;
                name += "/";
                name += Convert.ToString(m_i);
                name += ".png";
                image.Save(name, System.Drawing.Imaging.ImageFormat.Png);
            }
        }
    }

这个使用起还是可以,考虑要安装office软件,这个有时候是有点不方便,我们可以使用开源的NPOI来做这件事,在这就不贴出来代码了,自己查找。

c#提取word文档中的图片相关推荐

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

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

  2. C# 提取Word文档中的图片(用Spire)

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

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

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

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

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

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

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

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

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

  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. mysql与ofbiz,ofbiz+mysql安装求教
  2. 登录之图形跟短信验证码
  3. HDOJ 3642 Get The Treasury(扫描线 + 线段树 + 离散化 立方体的并)
  4. UA MATH566 统计理论1 充分统计量例题答案3
  5. HighNewTech:20190824上海人工智能大会(2019SHAI)暨第二届图像视频处理与人工智能国际会议参会感悟记录
  6. Android中五种常用对话框的使用
  7. php将数组中元素打乱顺序,PHP公开课|学会随机打乱数组元素顺序的函数,你的PHP会学的更好...
  8. Confluent官博:Kafka最牛队列,性能15倍于RabbitMQ!
  9. CentOS 7 防火墙命令
  10. ir指令、立即数的作用_ARM-汇编指令集(总结)
  11. speedoffice(Excel)如何隐藏编辑栏
  12. 传统立体匹配相似性测度笔记(更新中)
  13. 记录一下Alphapose安装过程
  14. db2 日期英式写法_英语日期格式
  15. NOIP2017模拟赛(4) 总结
  16. l完整的计算机系统,一个完整的计算机系统包括
  17. 魅蓝u20android版本,魅族魅蓝U20刷机包 Flyme 6 稳定版系统发布 性能提升 超长待机 全面优化...
  18. 一名失败人士对大学教育的一些看法
  19. Gram矩阵和核函数
  20. WIFI AP和STATION

热门文章

  1. linux-物理内存不够,swap交换内存来凑
  2. Linux运维工程师岗位前景及学习路线
  3. java实训第二次作业//181021(个人所得税计算器;判断闰年与平年;个人作业展示系统(方法调用))
  4. 企业微信 android2.3,企业微信2.3版本发布
  5. AD域实现统一用户管理
  6. python ez setup.py_python 安装 ez_setup.py出现的问题及解决办法
  7. 电商数据仓库项目总结
  8. K均值聚类算法(HCM,K-Means)
  9. 大学matlab选择试题和答案,大学matlab试题和答案
  10. 不可压库艾特流的压力修正法求解(附完整代码)