繁体   English   中英

如何在SSRS电子邮件报告中包含内联(未链接)图像?

[英]How to include inline (not linked) images in SSRS e-mail reports?

我有多个包含嵌入图像的SSRS 2008报告模板,这些模板当前在任何报告管理器预览中都是可见的(使用渲染扩展HTML 4.0)。 但是,我需要将这些报告作为HTML电子邮件发送出去。

我相信这里最基本/最简单的技术是将图像作为内联base64字符串附加到HTML中的图像标记。 有没有办法在SSRS中自动执行此操作,或者实现此类结果或类似结果的最佳实践是什么(即图像作为附件导致MHTML不能互操作而不是纯HTML)?

电子邮件必须按原样显示,而不连接任何外部存储(即发送者无法托管图像)。 此外,我们不会使用SSRS本身发送生成的HTML /电子邮件,因此任何此类性质的限制都不会受到关注。

内联base64的例子我在想:

<img src="data:image/png;base64,xxxxxxxx==" alt="Some Image">

似乎最简单的方法是修改或扩展渲染扩展,如MSDN文档中所述

编写自定义渲染扩展

在决定创建自定义呈现扩展插件之前,您应该评估更简单的替代方案。 您可以:

  1. 创建现有渲染扩展的修改版本。
  2. 通过指定现有扩展的设备信息设置来自定义渲染输出。
  3. 通过将XSL转换(XSLT)与XML呈现格式的输出相结合,添加自定义格式和表示功能。

编写自定义渲染扩展很难做到和学习。渲染扩展通常必须支持所有可能的报表元素组合。 报表对象模型非常广泛(必须实现数百个的类,接口,方法和属性),并且文档和示例尚未达到可以支持您完成具有挑战性的开发项目的级别。

如果必须以Reporting Services中未包含的格式呈现报表,则可以编写自己的呈现扩展插件代码实现。 呈现扩展代码必须实现报告服务器所需的IRenderingExtension接口。 Microsoft实现并随Reporting Services一起提供的每个呈现扩展都使用一组通用接口。 这可确保每个扩展实现可比较的功能,并降低报表服务器核心中呈现代码的复杂性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM