EMLおよびMSGは、MSOutlookが電子メールを保存するために使用する一般的な電子メール形式です。 Webまたはデスクトップアプリケーション内からEMLまたはMSGファイルのコンテンツを共有する必要がある場合があります。最も適切なソリューションの1つは、電子メールファイルをPDF形式に変換することです。この記事では、JavaでEMLまたはMSGの電子メールをプログラムでPDFに変換する方法を学習します。
JavaEMLおよびMSGからPDFへのコンバーターAPI
メールファイルをPDFに変換するには、Aspose.Email for JavaとAspose.WordsforJavaを組み合わせて使用します。前者は、電子メールクライアントアプリケーションを作成するための一連の機能を提供する電子メールAPIです。一方、後者は、Word文書を作成および操作するためのワードプロセッシングAPIです。次のMaven構成を使用して、JavaアプリケーションにAPIをインストールできます。
リポジトリ:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
<repository>
依存関係:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-email</artifactId>
<version>22.2</version>
<classifier>jdk16</classifier>
</dependency>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words</artifactId>
<version>22.3</version>
<type>pom</type>
</dependency>
また、以下のリンクからAPIのJARをダウンロードできます。
EMLまたはMSGファイルをJavaでPDFに変換する
以下は、JavaでEMLまたはMSG電子メールをPDF形式に変換する手順です。
- MailMessageクラスを使用してメールファイルをロードします。
- 電子メールメッセージをデフォルトのMHTML形式としてByteArrayOutputStreamオブジェクトに保存します。
- LoadOptionsクラスのインスタンスを作成し、ロード形式をMHTMLとして設定します。
- Documentクラスをインスタンス化し、ByteArrayOutputStreamオブジェクトとLoadOptionsオブジェクトをパラメーターとしてコンストラクターに渡します。
- Document.save(String, SaveFormat.PDF)メソッドを使用して、電子メールをPDFに変換します。
以下は、Javaで電子メールメッセージをPDFに変換するための完全なコードです。
// メールを読み込む
FileInputStream fstream=new FileInputStream("email.eml");
MailMessage eml = MailMessage.load(fstream);
// メッセージをMHTML形式で出力ストリームに保存します
ByteArrayOutputStream emlStream = new ByteArrayOutputStream();
eml.save(emlStream, SaveOptions.getDefaultMhtml());
// Word文書にストリームをロードする
LoadOptions lo = new LoadOptions();
lo.setLoadFormat(LoadFormat.MHTML);
Document doc = new Document(new ByteArrayInputStream(emlStream.toByteArray()), lo);
// ディスクに保存
doc.save("converted.Pdf", SaveFormat.PDF);
// または保存してストリーミング
ByteArrayOutputStream foStream = new ByteArrayOutputStream();
doc.save(foStream, SaveFormat.PDF);
無料ライセンスを取得する
評価の制限なしにAPIを試すために、無料の一時ライセンスを取得できます。
ライブデモ
結論
この記事では、JavaでEMLまたはMSGの電子メールメッセージをPDFに変換する方法を学びました。 Aspose.EmailとAspose.Wordsの組み合わせを使用して、Javaアプリケーション内から電子メールからPDFへの変換を実装する方法を示しました。両方のAPIの以下のドキュメントを調べることもできます。また、フォーラムにクエリを投稿することもできます。