Program.cs代码:
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
using Aspose.Words;
namespace WordDemo
{
class Program
{
static void Main(string[] args)
{
var dic = new Dictionary<string, string>();
dic.Add("姓名", "杨幂");
dic.Add("学历", "本科");
dic.Add("联系方式", "18862100000");
dic.Add("邮箱", "8271111111@qq.com");
dic.Add("头像", ".//1.jpg");
Document doc = new Document(".//1.doc");
DocumentBuilder builder = new DocumentBuilder(doc);
foreach (var key in dic.Keys)
{
builder.MoveToBookmark(key);
if (key != "头像")
{
builder.Write(dic[key]);
}
else
{
builder.InsertImage(dic[key]);
}
}
doc.Save("书签操作.doc");
Console.WriteLine("已经完成书签操作");
doc = new Document(".//2.doc");
foreach (var key in dic.Keys)
{
if (key != "头像")
{
var repStr = string.Format("&{0}&", key);
doc.Range.Replace(repStr, dic[key], false, false);
}
else
{
Regex reg = new Regex("&头像&");
doc.Range.Replace(reg, new ReplaceAndInsertImage(".//1.jpg"), false);
}
}
doc.Save("字符串替换操作.doc");
Console.WriteLine("已经完成特殊字符串替换操作");
Console.ReadKey();
}
}
public class ReplaceAndInsertImage : IReplacingCallback
{
public string url { get; set; }
public ReplaceAndInsertImage(string url)
{
this.url = url;
}
public ReplaceAction Replacing(ReplacingArgs e)
{
var node = e.MatchNode;
Document doc = node.Document as Document;
DocumentBuilder builder = new DocumentBuilder(doc);
builder.MoveTo(node);
builder.InsertImage(url);
return ReplaceAction.Replace;
}
}
}
运行结果如图:



