惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Tailwind CSS Blog
J
Java Code Geeks
Microsoft Azure Blog
Microsoft Azure Blog
GbyAI
GbyAI
爱范儿
爱范儿
量子位
Martin Fowler
Martin Fowler
V
V2EX
博客园 - 三生石上(FineUI控件)
I
InfoQ
MongoDB | Blog
MongoDB | Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
N
Netflix TechBlog - Medium
D
DataBreaches.Net
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Last Week in AI
Last Week in AI
U
Unit 42
Apple Machine Learning Research
Apple Machine Learning Research
H
Help Net Security
T
The Blog of Author Tim Ferriss
Hugging Face - Blog
Hugging Face - Blog
美团技术团队
Engineering at Meta
Engineering at Meta

博客园 - greystar

LightSwitch OOB发布模式下 Title的处理 个性化lightswitch登录屏幕(附源码) LightSwitch登录界面如何设置背景 LightSwitch学习阶段疑难问答 使用 OfficeIntegration.Word 实现lightswitch导出WORD的功能(续) 使用 OfficeIntegration.Word 实现lightswitch导出WORD的功能 lightswitch如何实现文件批量上传功能 lightswitch自定义扩展实现示例教程 devexpress套餐中UploadControl实现自定义参数传递的例子 lightswitch中自动完成框与查询参数的联动效果 如何在LightSwitch中创建多栏自动完成的下拉框 自定义lightswitch主屏幕 SQL Server 2008中的MERGE(不仅仅是合并) 一段XSLT转换XML节点名的测试代码 SL相关的感想 使用LINQ取得已选中的CheckBox Batch Updating in Entity Framework 利用Register protocol实现网页调用桌面程序 路径标记语法
邮件合并中图片字段的处理
greystar · 2010-09-23 · via 博客园 - greystar

网上找了个Aspose.Words来解决用户导出打印的要求,模板中还有图片。以前都是采用调DOM的方式来实现,其实发现用邮件导出的方式是最省的。研究了一下其中关于图片的处理。

 public class WordHelper
    {
        public static void MailMerge(DataSet datasource, Page page,string TempDocName,string FileNmae)
        {
            Document doc = new Document(TempDocName);
            doc.MailMerge.MergeImageField += new Aspose.Words.Reporting.MergeImageFieldEventHandler(MailMerge_MergeImageField);
            doc.MailMerge.ExecuteWithRegions(datasource);
            doc.Save(FileNmae, SaveFormat.Doc, SaveType.OpenInWord, page.Response);
        }
        /// <summary>
        /// 图片字段的处理。需要在模板加照片或图片的地方,同样插入域,但域名设置为:Image:数据表字段名,该处的数据表字段可以为String(也就是图片地址),也可以是二进制的图片
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private static void MailMerge_MergeImageField(object sender, Aspose.Words.Reporting.MergeImageFieldEventArgs e)
        {
             if ( e.FieldValue!=System.DBNull.Value)
           {
               Image img = Image.FromStream(new System.IO.MemoryStream((byte[])e.FieldValue));
              img= img.GetThumbnailImage(120, 140, nullIntPtr.Zero);//生成格式的图片
               e.Image = img;
   }
 }
模板设定时。图片的地方 《Image:myimg》
 }