Spire.Doc系列教程: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);

 

替换前后对比图:

文本替换图片


图片替换图片

//加载文档
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最新试用版

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值