/* ==============================================================================
* 文 件 名:Program
* 功能描述:
* Copyright (c) 2013 武漢經緯視通科技有限公司
* 創 建 人: alone
* 創建時間: 2013/4/2 11:16:19
* 修 改 人:
* 修改時間:
* 修改描述:
* 版 本: v1.0.0.0
* ==============================================================================*/
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("聯系方式", "02759597666");
dic.Add("郵箱", "304885433@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");//也可以保存為1.doc 兼容03-07
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");//也可以保存為1.doc 兼容03-07
Console.WriteLine("已經完成特殊字符串替換操作");
Console.ReadKey();
}
}
public class ReplaceAndInsertImage : IReplacingCallback
{
/// <summary>
/// 需要插入的圖片路徑
/// </summary>
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;
}
}
}