MSG を PDF として保存する
Contents
[
Hide
]
この記事では、Aspose.Email を使用してメールメッセージを PDF に変換する方法を示します。Aspose.Email for Java は Microsoft Outlook の機能を扱いますが、直接 PDF への変換はサポートしていません。この課題を克服するため、この記事のサンプルは Aspose.Email でメールメッセージを MHTML ストリームに変換し、次に Aspose.Words for Java を使用してその MHTML ストリームを読み込み、PDF として保存します。
メールメッセージには添付ファイルが含まれることもあります。添付ファイルはそれぞれ異なるメディアタイプである可能性があるため、Aspose.Email は MHTML への変換時にこれらの添付ファイルを無視します。つまり、メッセージ内のインライン画像のみが MHTML の一部となり、通常の添付ファイルは無視されます。
メールメッセージを PDF に変換
以下のコードは、Aspose.Email と Aspose.Words for Java を組み合わせてメールメッセージを PDF に変換する方法を示しています。これには以下の手順が含まれます:
- MailMessage を使用してメールメッセージをロードする
- メールメッセージを MemoryStream に MHTML として保存する
- Aspose.Words を使用してストリームを読み込む
- メッセージを PDF として保存する
元のメールメッセージは以下のように表示できます:
|
| | :- | |Figure: 元の MSG ファイル |
|
| | :- | |Figure: 変換された PDF ファイル | Java
static void EmailToPdf(String emailPath) throws Exception
{
FileInputStream fstream=new FileInputStream(emailPath);
MailMessage eml = MailMessage.load(fstream);
//Save the Message to output stream in MHTML format
ByteArrayOutputStream emlStream = new ByteArrayOutputStream();
eml.save(emlStream, SaveOptions.getDefaultMhtml());
//Load the stream in Word document
LoadOptions lo = new LoadOptions();
lo.setLoadFormat(LoadFormat.MHTML);
Document doc = new Document(new ByteArrayInputStream(emlStream.toByteArray()), lo);
//Save to disc
doc.save("About Aspose.Pdf", SaveFormat.PDF);
//or Save to stream
ByteArrayOutputStream foStream = new ByteArrayOutputStream();
doc.save(foStream, SaveFormat.PDF);
}