InlineShape表示的类型其实不只是图片,还包括OLE, ACTIVE X等。 
下面是MSDN中的定义:Represents an object in the text layer of a document(表示文档中文本层的一个对象)。 
可以通过InlineShape的Type属性获得这个对象的具体类型。Type是一个WdInlineShapeType的枚举类型。WdInlineShapeType可以说下面的常数之一: 
wdInlineShapeEmbeddedOLEObject  嵌入式OLE对象 
wdInlineShapeHorizontalLine              水平线 
wdInlineShapeLinkedOLEObject         链接式OLE对象 
wdInlineShapeLinkedPicture               链接式图片 
wdInlineShapeLinkedPictureHorizontalLine(…) 
wdInlineShapeOLEControlObject        OLE控制对象 
wdInlineShapeOWSAnchor                OWS锚点 
wdInlineShapePicture                         嵌入式图片 
wdInlineShapePictureBullet                 图片占位符 
wdInlineShapePictureHorizontalLine    (…) 
wdInlineShapeScriptAnchor          (…) 
设置图片的“版式”为嵌入式那么这个图片在WORD文档中就用InlineShape来表示,而Shape表示的图片格式是其他的版式,处于Drawing层。不过其他的特性基本上是一致的。 
  
下面是要用到的一些变量:(初始化部分没有写) 
ApplicationClass wordApp; 
Document wordDoc; 
object missing; 
List<InlineShape> allShape;    //用InlineShape类型保存图片 
List<Image> allImage;          //用Image类型保存图片 
  
先来看看提取InlineShape的步骤:

1.返回当前文档中所有InlineShapes。如果是嵌入式图片就加入集合中。 
InlineShapes insh = le="COLOR: black">wordDoc.InlineShapes; 
for (int i = 0; i < insh.Count; i++) 

if (insh[i].Type == WdInlineShapeType.wdInlineShapePicture) 
allShape.Add(insh[i]); 
}

2.先选中一个图片,再通过Selection发送到剪贴板,再从剪贴板得到一个图片对象。 
Microsoft.Office.Interop.Word.Selection sel; 
System.Drawing.Image returnImage = null; 
foreach (InlineShape ins in allShape) 

ins.Select(); 
sel = wordApp.Selection; 
if (sel.Type == WdSelectionType.wdSelectionInlineShape) 

sel.CopyAsPicture(); 
if (Clipboard.ContainsImage()) 

returnImage = Clipboard.GetImage(); 
allImage.Add(returnImage); 



  
下面是保存图片到文件中,Image类型的Save方法可以完成这个工作。文件类型可以说JPG,GIF,BMP等。 
int i = 0; 
foreach (Image im in allImage) 

im.Save("c://图片" + i.ToString() + ".jpg",ImageFormat.Jpeg); 
i++; 
}

提取WORD中的所有InlineShape图片并保存成文件的更多相关文章

  1. Java 提取Word中的文本和图片

    本文将介绍通过Java来提取或读取Word文档中文本和图片的方法.这里提取文本和图片包括同时提取文档正文当中以及页眉.页脚中的的文本和图片. 使用工具:Free Spire.Doc for Java ...

  2. 使用openxml提取word中的文本和图片并转为Html

    使用openxml提取word中的文本和图片 使用 openXml 提取 word 中的 Text 和 Drawing 使用 openXml 将 word 中的文本和图片转为Html 使用 openX ...

  3. C# 提取Word中插入的多媒体文件(视频、音频)

    在Word中可将文件通过OLE对象嵌入的方式插入到文档,包括Word.excel.PDF.PPT.图片.宏文件.文件包等在内的多种文件类型.对文档中已插入的文档对象,也可通过本文中的方法提取出来另存到 ...

  4. 利用POI抽取word中的图片并保存在文件中

    利用POI抽取word中的图片并保存在文件中 poi.apache.org/hwpf/quick-guide.html 1.抽取word doc中的图片 package parse; import j ...

  5. poi提取docx中的文字和图片

    package com.fry.poiDemo.dao; import java.io.File; import java.io.FileInputStream; import java.io.Fil ...

  6. 如何把Excel中的单元格等对象保存成图片

    对于Excel中的很多对象,比如单元格(Cell),图形(shape),图表(chart)等等,有时需要将它们保存成一张图片.就像截图一样. 最近做一个Excel相关的项目,项目中遇到一个很变态的需求 ...

  7. Java Word中的文本、图片替换功能

    Word中的替换功能以查找指定文本然后替换为新的文本,可单个替换或全部替换.以下将要介绍的内容,除常见的以文本替换文本外,还将介绍使用不同对象进行替换的方法,具体可包括: 1. 指定字符串内容替换文本 ...

  8. Java 在Word中添加多行图片水印

    Word中设置水印效果时,不论是文本水印或者是图片水印都只能添加单个文字或者图片到Word页面,效果比较单一,本文通过Java代码示例介绍如何在页面中添加多行图片水印效果,即水印效果以多个图片平铺到页 ...

  9. C# / VB.NET 在Word中嵌入多媒体(视频、音频)文件

    Word中可将Office(Word/Excel/PowerPoint).PDF.txt等文件作为OLE对象插入到文档中,双击该对象可直接访问或编辑该文件,除了以上常见的文件格式对象,也可以插入多媒体 ...

随机推荐

  1. java.util.Hashtable源码分析

    Hashtable实现一个键值映射的表.任何非null的object可以用作key和value. 为了能存取对象,放在表里的对象必须实现hashCode和equals方法. 一个Hashtable有两 ...

  2. 跟我一起学Vim补全神级插件--YouCompleteMe

    最近重拾Vim,编译部署来补全插件YCM,这个插件的补全效果和在写C代码的时候的自动提示错误信息等还是十分棒的,写点心得下来,也算给自己做个备忘. 快速安装: 首先参考我的.vimrc配置,用Vund ...

  3. java 子类的实例化和代码块初始化过程

    1,子类的实例化 1,子父类中的构造函数的特点. 在子类构造对象时,发现,访问子类构造函数时,父类也运行了. 为什么呢? 原因是:在子类的构造函数中第一行有一个默认的隐式语句. super(); 子类 ...

  4. 利用数据库链做DML操作时报ORA-02069: global_names parameter must be set to TRUE for this operation

    按照 http://space.itpub.net/195110/viewspace-711110 的说法顺利解决问题. 通过DBLink更新远程数据的时候,如果使用到本地的sequence.函数.过 ...

  5. CentOS添加RPMforge软件源

    1.查看CentOS版本 cat /etc/redhat-release 2.查看系统位数 uname -i 3.下载rpm包 wget "rpm地址" CentOS 6: i68 ...

  6. Vijos p1002 过河 离散化距离+区间DP

    链接:https://vijos.org/p/1002 题意:一条长度为L(L <= 1e9)的桥上有N(1<= N <= 100)颗石头.桥的起点为0终点为L.一只青蛙从0开始跳, ...

  7. 拖尾渲染器 Trail Renderer

    拖尾渲染器(Trail Renderer)用于制作跟在场景中的物体后面的拖尾效果来代表它们在到处移动. 必须给Materials一个材质渲染器设置的Colors才有效. 展示自己的一个demo...

  8. 在Linux上安装Memcached服务

    下载并安装Memcache服务器端服务器端主要是安装memcache服务器端.下载:http://www.danga.com/memcached/dist/memcached-1.2.2.tar.gz ...

  9. JS & DOM 对象

    22:36 2013/6/4 详情参照W3C文档标准 Browser 对象(顶层对象) DOM Window DOM Navigator DOM Screen DOM History DOM Loca ...

  10. I2C总线模拟(郭天祥视屏)

    电路图 思路 1.向EEPROM中通过I2C总线写入一个字节 2.通过I2C总线读出写入的字节 3.如果写入和读出成功点亮发光二极管 程序 #include <REGX51.H> #def ...