EMLおよびMSG電子メールをJavaでPDFに変換する

EMLおよびMSGは、MSOutlookが電子メールを保存するために使用する一般的な電子メール形式です。 Webまたはデスクトップアプリケーション内からEMLまたはMSGファイルのコンテンツを共有する必要がある場合があります。最も適切なソリューションの1つは、電子メールファイルをPDF形式に変換することです。この記事では、JavaでEMLまたはMSGの電子メールをプログラムでPDFに変換する方法を学習します。

JavaEMLおよびMSGからPDFへのコンバーターAPI

メールファイルをPDFに変換するには、Aspose.Email for JavaAspose.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の以下のドキュメントを調べることもできます。また、フォーラムにクエリを投稿することもできます。

関連項目