欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C# Aspose.Words 删除word中的图片操作

程序员文章站 2022-04-27 15:04:05
今天介绍下 aspose.words 对 word 中的图片进行删除string tempfile = application.startuppath + "\\resource\\templete\...

今天介绍下 aspose.words 对 word 中的图片进行删除

string tempfile = application.startuppath + "\\resource\\templete\\项目建议书模板.doc";
document doc = new document(tempfile);
nodecollection shapes = doc.getchildnodes(nodetype.shape, true);
foreach (shape item in shapes)
{
 if (item.hasimage)
 {
  item.remove();
 }
}
doc.save(docpath);

补充:c#word插入图片在指定标签位置(附加图片上下左右移动)

这一篇我就直接讲讲图片的添加和移动了

C# Aspose.Words 删除word中的图片操作

如上图是直接插入,插入位置是镶嵌类型,我想让它浮动在文字下面,且大小也想调动一下

object nothing = system.reflection.missing.value;
   try
   {
    //定义该插入图片是否为外部链接
    object linktofile = false;
    //定义插入图片是否随word文档一起保存
    object savewithdocument = true;
    
    //图片
    string replacepic = picture;
    if (doc.bookmarks.exists(bookmark_text) == true)
    {
     object bookmark = bookmark_text;
     //查找书签
     doc.bookmarks.get_item(ref bookmark).select();
     //设置图片位置
     worldapp.selection.paragraphformat.alignment = microsoft.office.interop.word.wdparagraphalignment.wdalignparagraphcenter;
     
     //在书签的位置添加图片
     inlineshape inlineshape = worldapp.selection.inlineshapes.addpicture(replacepic, ref linktofile, ref savewithdocument, ref nothing);
     //设置图片大小
     inlineshape.width = 100;
     inlineshape.height = 100;
     inlineshape.select();
     inlineshape.converttoshape().incrementleft(-60.0f); 
     //将图片设置浮动在文字上方
     inlineshape.converttoshape().wrapformat.type = microsoft.office.interop.word.wdwraptype.wdwrapbehind;
 
    }
   }
   catch
   {
    doc.saved = false;
    //word文档中不存在该书签,关闭文档
    doc.close(ref nothing, ref nothing, ref nothing);
   }

其中inlineshape.converttoshape()可以理解为选中这个图片

incrementleft();方法是要素水平移动,正值 代表向右移动,负值代表向左移动

incrementtop(); 方法是要素垂直移动,正值代表向下移动,负值代表向上移动

wdwraptype是一个枚举器,里面有镶嵌类型,即

C# Aspose.Words 删除word中的图片操作

通过插入和移动就可以达到插入图片到自己想要的位置了

结果:

C# Aspose.Words 删除word中的图片操作

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。