我有多个包含嵌入图片的SSRS 2008报告模板,这些模板目前在任何报告管理器预览中都是可见的(使用渲染扩展HTML 4.0)。但是,我需要将这些报告作为HTML电子邮件发送出去。
我认为这里最基本/最简单的方法是将图像作为内联base64字符串附加到HTML中的图像标记。有没有办法在SSRS中自动执行此操作,或者实现此类结果或类似结果的最佳实践是什么(即图像作为附件导致MHTML不能互操作而不是纯HTML)?
电子邮件必须按原样显示,而不连接任何外部存储(即发送者无法托管图像)。此外,我们不会使用SSRS本身发送生成的HTML /电子邮件,因此任何此类性质的限制都不会受到关注。
内联base64的例子我在想:
<img src="data:image/png;base64,xxxxxxxx==" alt="Some Image">
答案 0 :(得分:3)
看来,实现此目的的最简单方法是稍微修改或扩展渲染扩展,如MSDN documentation中所述:
编写自定义渲染扩展程序
在决定创建自定义呈现扩展程序之前,您应该这样做 评估更简单的替代品。你可以:
- 创建现有渲染扩展程序的修改版本。
- 通过指定设备信息设置自定义渲染输出 对于现有扩展。
- 添加自定义格式和演示文稿 通过将XSL转换(XSLT)与输出结合起来的功能 XML呈现格式。
醇>编写自定义渲染扩展名是 难以做到以及学习..渲染扩展必须 通常支持所有可能的报表元素组合。该 报表对象模型很广泛(类,接口,方法, 和必须实现数百个数字的属性,和 文档和样本尚未达到可以支持的水平 通过一个具有挑战性的开发项目。
如果必须以未包含的格式呈现报告 在Reporting Services中,您可以编写自己的托管代码实现 渲染扩展的。渲染扩展代码必须实现 IRenderingExtension接口,该报告是必需的 服务器。每个渲染扩展由Microsoft和 Reporting Services随附的一组通用接口。这个 确保每个扩展实现可比较的功能 降低了报告核心中呈现代码的复杂性 服务器