Spire.Doc系列教程(27):C# Word 圖片替換

Spire.Doc支持在Word文檔中對圖片進行多種操作,如添加,提取,替換和刪除等。本文主要介紹如何使用Spire.Doc替換Word文檔中的圖片。

在Spire.Doc中,圖片替換包含文本替換圖片和圖片替換圖片兩種方式,以下部分將對這兩種方式逐一進行介紹。

文本替換圖片

//加載文檔
Document document = new Document(@"模板.docx");
int j = 1;
//遍歷文檔的所有section
foreach (Section sec in document.Sections)
{
//遍歷section中的所有段落
foreach (Paragraph para in sec.Paragraphs)
{
List<object> pictures = new List<object>();
//遍歷段落中的所有子元素
foreach (DocumentObject docObj in para.ChildObjects)
{
//獲取段落中的圖片
if (docObj.DocumentObjectType == DocumentObjectType.Picture)
{
pictures.Add(docObj);
}
}
foreach (DocumentObject pic in pictures)
{
//獲取圖片的位置(index)
int index = para.ChildObjects.IndexOf(pic);
//插入文本到圖片位置
TextRange range = new TextRange(document);
range.Text = string.Format("圖片 {0}", j);
para.ChildObjects.Insert(index, range);
//刪除圖片
para.ChildObjects.Remove(pic);
j++;
}
}

}
//保存文檔
document.SaveToFile(@"文本替換.docx", FileFormat.Docx);
/<object>/<object>

替換前後對比圖:

Spire.Doc系列教程(27):C# Word 圖片替換


圖片替換圖片

//加載文檔
Document document = new Document(@"模板.docx");
//遍歷文檔第一個section的所有段落
foreach (Paragraph paragraph in document.Sections[0].Paragraphs)
{
//遍歷段落的所有子元素
foreach (DocumentObject docObj in paragraph.ChildObjects)
{
//獲取段落中的圖片
if (docObj.DocumentObjectType == DocumentObjectType.Picture)
{
DocPicture picture = docObj as DocPicture;
if (picture.Title == "Figure 1")
{
//替換標題為“Figure 1”的圖片
picture.LoadImage(Image.FromFile("玫瑰.jpg"));
}
}
}
}
//Saves the Word document
document.SaveToFile("圖片替換.docx");

替換前後對比圖:

Spire.Doc系列教程(27):C# Word 圖片替換

↓↓↓


分享到:


相關文章: