6

埋め込み画像を含む複数の SSRS 2008 レポート テンプレートがあり、これらは現在、レポート マネージャーのプレビュー (表示拡張機能 HTML 4.0 を使用) で期待どおりに表示されます。ただし、これらのレポートを HTML 電子メールとして送信する必要があります。

ここでの基本的/最も簡単な手法は、画像をインライン base64 文字列として HTML の画像タグに添付することだと思います。SSRSでこれを自動的に行う方法はありますか、またはこれまたは同様の結果を達成するためのベストプラクティスは何ですか?

電子メールは、外部ストレージに接続せずにそのまま表示する必要があります (つまり、送信者が画像をホストすることはできません)。さらに、結果の HTML/電子メールを送信するために SSRS 自体を使用しないため、そのような性質の制限は問題になりません。

私が考えていたインライン base64 の例:

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

1 に答える 1

3

これを実現する最も簡単な方法は、 MSDN のドキュメントで説明されているように、レンダリング拡張機能をほんの少し変更または拡張することです。

カスタム レンダリング拡張機能の作成

カスタム表示拡張機能の作成を決定する前に、より単純な代替案を評価する必要があります。あなたはできる:

  1. 既存の表示拡張機能の修正バージョンを作成します。
  2. 既存の拡張機能のデバイス情報設定を指定して、レンダリングされた出力をカスタマイズします。
  3. XSL 変換 (XSLT) を XML レンダリング形式の出力と組み合わせて、カスタムの書式設定とプレゼンテーション機能を追加します。

カスタム表示拡張機能を作成することは、習得するだけでなく、行うのも困難です。通常、表示拡張機能は、レポート要素のすべての可能な組み合わせをサポートする必要があります。レポート オブジェクト モデルは広範であり (数百のクラス、インターフェイス、メソッド、およびプロパティを実装する必要があります)、ドキュメントとサンプルは、困難な開発プロジェクトを通じてサポートできるレベルにはまだ達していません。

Reporting Services に含まれていない形式でレポートを表示する必要がある場合は、表示拡張機能の独自のマネージ コード実装を作成できます。表示拡張機能のコードは、レポート サーバーで必要な IRenderingExtension インターフェイスを実装する必要があります。Microsoft によって実装され、Reporting Services に同梱されている各表示拡張機能は、共通のインターフェイス セットを使用します。これにより、各拡張機能が同等の機能を実装し、レポート サーバーのコアにあるレンダリング コードの複雑さが軽減されます。

于 2012-08-24T10:29:58.413 に答える