電子メールのコンテンツをWebまたはデスクトップアプリケーションに埋め込む必要がある場合は、さまざまなシナリオが考えられます。このような場合、電子メールメッセージを簡単に埋め込んで表示できる形式に変換できます。考えられる解決策の1つは、電子メールからPDFへの変換です。この記事では、C#を使用してEMLまたはMSGの電子メールをPDFに変換する方法のステップバイステップガイドとコードサンプルを提供します。
PDFコンバーターAPIへのC#EMLおよびMSG電子メール
Aspose.Email for .NETは、.NETアプリケーション内から一般的な電子メール形式を作成および操作するように設計されたC#クラスライブラリです。 Aspose.Words for .NETと組み合わせることで、APIを使用して電子メールメッセージを忠実度の高いPDF形式に変換できます。 APIのDLLをダウンロードするか、NuGetを使用して.NETアプリケーション内にインストールすることができます。
PM> Install-Package Aspose.Words
PM> Install-Package Aspose.Email
C#を使用してEMLまたはMSGをPDFに変換する手順
以下は、C#で電子メールメッセージをPDF形式に変換する手順です。
- MailMessageクラスを使用してメールファイルをロードします。
// ファイルを使用して電子メールメッセージをロードする
MailMessage mailMsg = MailMessage.Load("message.msg");
- 電子メールメッセージをデフォルトのMHTML形式としてMemoryStreamオブジェクトに保存します。
// メモリストリームを作成する
MemoryStream ms = new MemoryStream();
// 電子メールメッセージをメモリストリームに保存します
MailMessage.Save(ms, Aspose.Email.SaveOptions.DefaultMhtml);
- Aspose.Words.LoadOptionsクラスのインスタンスを作成し、ロード形式をMHTMLとして設定します。
// ロードオプションの作成と設定
var loadOptions = new Aspose.Words.LoadOptions();
loadOptions.LoadFormat = LoadFormat.Mhtml;
- Aspose.Words.Documentクラスをインスタンス化し、MemoryStreamおよびLoadOptionsオブジェクトをパラメーターとしてコンストラクターに渡します。
// Documentのインスタンスを作成し、MemoryStreamからMTHMLをロードします
var document = new Aspose.Words.Document(ms, loadOptions);
- Aspose.Words.Saving.PdfSaveOptionsクラスのインスタンスを作成します。
// PDFSaveOptionsクラスのインスタンスを作成します
var pdfSaveOptions = new Aspose.Words.Saving.PdfSaveOptions();
- Document.Save( “email-to-pdf.pdf”、PdfSaveOptions)メソッドを使用して、電子メールをPDFに変換します。
// メールをPDFとして保存
document.Save("email-to-pdf.pdf", pdfSaveOptions);
C#電子メールからPDFへの変換-完全なコード
以下は、Aspose.Emailsfor.NETおよびAspose.Words for .NET APIを使用して電子メールメッセージをPDFに変換するための完全なコードです。
// メールメッセージを読み込む
MailMessage mailMsg = MailMessage.Load("message.msg");
MemoryStream ms = new MemoryStream();
mailMsg.Save(ms, Aspose.Email.SaveOptions.DefaultMhtml);
// LoadOptionsのインスタンスを作成し、LoadFormatをMhtmlに設定します
var loadOptions = new Aspose.Words.LoadOptions();
loadOptions.LoadFormat = LoadFormat.Mhtml;
// Documentのインスタンスを作成し、MemoryStreamからMTHMLをロードします
var document = new Aspose.Words.Document(ms, loadOptions);
// HtmlSaveOptionsのインスタンスを作成します
var saveOptions = new Aspose.Words.Saving.PdfSaveOptions();
document.Save("email-to-pdf.pdf", saveOptions);
無料ライセンスを取得する
評価の制限なしにAPIを試すために、無料の一時ライセンスを取得できます。
ライブデモ
結論
電子メールメッセージをWebまたはデスクトップアプリケーションに埋め込む必要がある場合は、電子メールからPDFへの変換が実用化される可能性があります。したがって、この記事では、.NETアプリケーション内でC#を使用して電子メールメッセージをPDFに変換する方法を学習しました。使用されているAPIの詳細については、次のドキュメントにアクセスしてください。