轉帖|使用教程|編輯:龔雪|2014-11-10 09:47:06.000|閱讀 2272 次
概述:.net使用Aspose.Words進行Word替換操作的實現代碼。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
慧都年終巨獻,Aspose系列產品黃金版+白金版享<8折>優惠! 截止日期2014/11/30
之前在工作中,需要實現Word打印功能,并且插入圖片。當時采取的方式則是使用書簽進行操作。首先在word內插入書簽,完成后,存為模板。程序加載該模板,找到書簽,并在指定位置寫入文字即可。
后期維護過程中,發現模板經常需要變更,但是書簽在word中不方便查看,用戶在編輯word的時候容易出錯。于是想采取特殊字符串標識的方式進行替換。此時,圖片的插入就存在問題,光標無法直接移動到指定字符串。
開發思路:
查閱 Aspose.Words提供的API,發現有Range類有該方法:
代碼如下:
該方法則是在使用正則表達式進行文檔內替換的同時可以執行IReplacingCallback接口。
具體實現代碼如下:
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;
}
}
}
慧都年終巨獻,Aspose系列產品黃金版+白金版享<8折>優惠! 截止日期2014/11/30
模板如圖:
生成文檔如圖:
原文來自:腳本之家
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件網