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