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

推荐订阅源

J
Java Code Geeks
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Blog — PlanetScale
Blog — PlanetScale
G
Google Developers Blog
Microsoft Security Blog
Microsoft Security Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
腾讯CDC
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Jina AI
Jina AI
雷峰网
雷峰网
T
Tailwind CSS Blog
爱范儿
爱范儿
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
酷 壳 – CoolShell
酷 壳 – CoolShell
大猫的无限游戏
大猫的无限游戏
月光博客
月光博客
博客园 - 司徒正美
I
InfoQ
Engineering at Meta
Engineering at Meta
Vercel News
Vercel News
小众软件
小众软件
U
Unit 42
Google DeepMind News
Google DeepMind News
D
DataBreaches.Net

博客园 - 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》
 }