zoukankan      html  css  js  c++  java
  • MsoShapeType /InlineShape枚举

    指定形状的类型或形状范围。

    名称

    说明

    msoAutoShape

    1

    自选图形。

    msoCallout

    2

    标注。

    msoCanvas

    20

    画布。

    msoChart

    3

    图。

    msoComment

    4

    批注。

    msoDiagram

    21

    图表。

    msoEmbeddedOLEObject

    7

    嵌入的 OLE 对象。

    msoFormControl

    8

    窗体控件。

    msoFreeform

    5

    任意多边形。

    msoGroup

    6

    组合。

    msoIgxGraphic

    24

    SmartArt 图形

    msoInk

    22

    墨迹。

    msoInkComment

    23

    墨迹批注。

    msoLine

    9

    线条。

    msoLinkedOLEObject

    10

    链接 OLE 对象。

    msoLinkedPicture

    11

    链接图片。

    msoMedia

    16

    媒体。

    msoOLEControlObject

    12

    OLE 控件对象。

    msoPicture

    13

    图片。

    msoPlaceholder

    14

    占位符。

    msoScriptAnchor

    18

    脚本定位标记。

    msoShapeTypeMixed

    -2

    混和形状类型。

    msoTable

    19

    表。

    msoTextBox

    17

    文本框。

    msoTextEffect

    15

    文本效果。

    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++; 

  • 相关阅读:
    点击图片等比缩放
    C# 使用 NPOI 库读写 Excel 文件
    vue url生产二维码
    centos Linux 同步Windows 时间
    centos 搭建 docker sentry
    centos 安装 pip
    webpack 提升90%的构建速度 HardSourceWebpackPlugin
    webpack 原生分析
    webpack 分析
    nodejs——js 实现webSocket 兼容移动端
  • 原文地址:https://www.cnblogs.com/Alex80/p/4496503.html
Copyright © 2011-2022 走看看