使用  Microsoft.Office.Interop.Word  进行插入, word 文件中 插入 “书签” 。

在com组件中引用  Microsoft.Word.xxx.xx

注意下面的坑:

        1.  如果要兼容 office 2007,自己电脑上需要装个07才行 (有可能不需要,我刚开始用2013的dll各种报错,可以先尝试不装)

        2. win10 需要设置 .exe 以“管理员身份运行”, 在  属性 -> 兼容性 -> 管理员身份 (勾上)  

        3. 如果可以,直接把引用的 dll 放到 debug 目录下,引用debug下的dll。

   Microsoft.Office.Interop.Word.Application app = new 
   Microsoft.Office.Interop.Word.Application();
   Microsoft.Office.Interop.Word.Document doc = app.Documents.Add(strDocx);
   app = doc.Application;
   //doc.ActiveWindow.Visible = true;

   foreach (Microsoft.Office.Interop.Word.Bookmark bk in doc.Bookmarks)
   {
     if (bk.Name == "MakeSealCompany")
     {
         bk.Range.Text = "插入文字";
     }  
     else if (bk.Name == "qt_d")   
     {
           insereatImage(app, bk, imgPath);  // 插入图片
      }
   }

   doc.SaveAs(saveFileDialog1.FileName);
   app.Quit();


private void insereatImage(Microsoft.Office.Interop.Word.Application app, Microsoft.Office.Interop.Word.Bookmark bk, string imgPath)
{
      bk.Select();
      Microsoft.Office.Interop.Word.Selection sel = app.Selection;
      Microsoft.Office.Interop.Word.InlineShape inlineShape = sel.InlineShapes.AddPicture(imgPath);

      //设置图片大小
      inlineShape.Width = 12;
      inlineShape.Height = 12;
}

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐