11

画像が埋め込まれた .mht ファイルを C# でプログラムによって生成する方法を知っている人はいますか? 問題は、.mht ファイルには画像を埋め込むことができるということです。この埋め込まれた画像は、場所を変更するとファイル全体 (mht) とともに移動します。このファイルは、IE 6 を含むさまざまなブラウザーで表示できます。

Data Url Scheme テクニックを試すように言われました。しかし、他のブラウザではサポートされていないため、機能しませんでした。たとえば、IE 6。

4

4 に答える 4

9

それは可能であり、間違いなく他の人によって行われています-関連資料とライブラリ/ソースコード:

于 2012-04-03T19:25:33.433 に答える
8

Windows 環境では、 IMessageインターフェイスを公開するCDO.Message COM コンポーネントを使用して直接これを行うことができ ます。C# での COM オブジェクトのインポートの詳細がわからないので、C に似た構文で簡単な例を示します。

IMsgObj = CreateObject("CDO.Message")   // create the object
IMsgObj.CreateMHTMLBody("http://www.example.com/") // convert the URL to MHTML
IMsgObj.GetStream().SaveToFile("output.mht")  // save it to a file

CDO.Message コンポーネントの CLSID は {CD000001-8B95-11D1-82DB-00C04FB1625D} です。

ただし、このコンポーネントは電子メール メッセージ (.mht ではなく .eml ファイル拡張子) を生成するためのものであり、JavaScript ファイルは含まれないことに注意してください。それ以外の場合、それらはほぼ同等です。

于 2012-06-22T14:15:16.030 に答える
3

MSDN には、 CDO と System.Net.Mail の両方を使用して MHT ファイルを作成する方法に関するすばらしい記事 (2011 年 6 月) があります。C# のソース コードは完全に含まれています。これを VB.Net または Google Code バージョンの上で使用します。

于 2013-03-08T20:13:53.153 に答える
1

RFC 2557から始めて、何を扱っているかについて基本的な理解を深めました。次に、それを処理するコード/ライブラリを探します。

私の知る限り、MHTML を扱う BCL クラスはありません。

于 2012-04-03T19:24:55.510 に答える