原創(chuàng)|其它|編輯:郝浩|2012-10-15 15:59:37.000|閱讀 4541 次
概述:為了能夠?qū)С觯覀冞\(yùn)用了IMailMergeDataSource接口。 這IMailMergeDataSource GetValue函數(shù)是通過Aspose庫(kù)調(diào)用來(lái)實(shí)現(xiàn)的。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
我正在使用Aspose.Words for .NET在應(yīng)用程序中導(dǎo)出Word文檔。但是現(xiàn)在導(dǎo)出的文檔中必須包括RichText內(nèi)容。為了能夠?qū)С觯覀冞\(yùn)用了IMailMergeDataSource接口。 這IMailMergeDataSource GetValue函數(shù)是通過Aspose庫(kù)調(diào)用來(lái)實(shí)現(xiàn)的,這個(gè)函數(shù)是看起來(lái)像這樣:
public override bool GetValue(string fieldName, out object fieldValue) { ... }
所以我把當(dāng)前字段的字段名放到Word模板中,并且設(shè)置fieldValue為一個(gè)字符串,這樣fieldValue的字符串就可以出現(xiàn)在Word文檔中。
但是當(dāng)我設(shè)置了一個(gè)FlowDocument fieldValue,結(jié)果將是一個(gè)XML字符串(ToString表示的是FlowDocument對(duì)象)
在 Aspose.Words的幫助文檔中,我雖然沒有找到任何關(guān)于所需類型的fieldValue參數(shù)。
但是可以通過如下方法加載富文本到Aspose.Words文檔對(duì)象中:
private class HandleMergeFields : IFieldMergingCallback { void IFieldMergingCallback.FieldMerging(FieldMergingArgs e) { DocumentBuilder builder = new DocumentBuilder(e.Document); builder.MoveToMergeField("fieldName"); Node node = builder.CurrentNode; // doc is an RTF document we created from RTF string InsertDocument(node, doc);
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都控件網(wǎng)