如何使用C#将图像添加到代码生成的MSWord中

本文关键字:代码生成 MSWord 添加 何使用 图像 | 更新日期: 2023-09-27 18:21:41

我用这段代码生成一个单词档案,这很好:

public void AddParagraph(string text, string styleName = null)
{
  Paragraph paragraph = _document.Content.Paragraphs.Add();
  if (styleName != null)
  {
    paragraph.Range.set_Style(_document.Styles[styleName]);
  }
  paragraph.Range.Text = text;
  paragraph.Range.InsertParagraphAfter();
}

但我还需要在生成的段落旁边添加一个图像,该图像是文档路径中的一个文件,有什么想法吗?

如何使用C#将图像添加到代码生成的MSWord中

我知道您使用的是标准单词libs。这将限制您在未安装MS office的计算机上运行的能力。我可以强烈建议您使用NovaCode DocX

它易于使用,也非常可靠。为此,您可以使用DocX.AddImage()。

// Create a .docx file
using (DocX document = DocX.Create(@"Example.docx"))
{
  // Add an Image to the docx file
   Novacode.Image img = document.AddImage(@"Donkey.jpg");
   // Insert an emptyParagraph into this document.
   Paragraph p = document.InsertParagraph("", false);
  #region pic1
  Picture pic1 = p.InsertPicture(img.Id, "Donkey", "Taken on Omey island");
   // Set the Picture pic1’s shape
   pic1.SetPictureShape(BasicShapes.cube);
   // Rotate the Picture pic1 clockwise by 30 degrees
   pic1.Rotation = 30;
    #endregion
   #region pic2
   // Create a Picture. A Picture is a customized view of an Image
   Picture pic2 = p.InsertPicture(img.Id, "Donkey", "Taken on Omey island");
   // Set the Picture pic2’s shape
   pic2.SetPictureShape(CalloutShapes.cloudCallout);
  // Flip the Picture pic2 horizontally
   pic2.FlipHorizontal = true;
   #endregion
   // Save the docx file
   document.Save();
}// Release this document from memory.