Преобразование электронных писем EML и MSG в PDF на Java

EML и MSG — популярные форматы электронной почты, используемые MS Outlook для хранения электронных писем. Могут быть случаи, когда вам нужно поделиться содержимым файлов EML или MSG из ваших веб-приложений или настольных приложений. Одним из наиболее подходящих решений является преобразование файлов электронной почты в формат PDF. В этой статье вы узнаете, как программно преобразовать электронную почту EML или MSG в PDF на Java.

Java EML и MSG to PDF Converter API

Чтобы преобразовать файлы электронной почты в PDF, мы будем использовать комбинацию Aspose.Email для Java и Aspose.Words для Java. Первый — это API электронной почты, который предоставляет множество функций для создания клиентских приложений электронной почты. Принимая во внимание, что последний представляет собой API обработки текстов для создания документов Word и управления ими. Вы можете использовать следующие конфигурации Maven для установки API в приложениях Java.

Репозиторий:

<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>

Кроме того, вы можете скачать JAR-файлы API по следующим ссылкам.

Преобразование файла EML или MSG в PDF в Java

Ниже приведены шаги для преобразования электронной почты EML или MSG в формат PDF на Java.

  • Загрузите файл электронной почты, используя класс MailMessage.
  • Сохраните сообщение электронной почты в объекте ByteArrayOutputStream в формате MHTML по умолчанию.
  • Создайте экземпляр класса LoadOptions и установите формат загрузки MHTML.
  • Создайте экземпляр класса Document и передайте объекты ByteArrayOutputStream и LoadOptions в качестве параметров его конструктору.
  • Преобразуйте электронное письмо в PDF, используя метод Document.save(String, SaveFormat.PDF).

Ниже приведен полный код для преобразования сообщения электронной почты в PDF на Java.

// Загрузить электронную почту
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 без ограничений пробной версии.

Живая демонстрация

Вывод

В этой статье вы узнали, как конвертировать сообщения электронной почты EML или MSG в PDF на Java. Мы продемонстрировали, как использовать комбинацию Aspose.Email и Aspose.Words для реализации преобразования электронной почты в PDF из приложений Java. Вы также можете изучить приведенную ниже документацию по обоим API. Кроме того, вы можете оставлять свои вопросы на нашем форуме.

Смотрите также