Сохранение MSG в PDF
Contents
[
Hide
]
В этой статье показано, как преобразовать электронное сообщение в PDF с помощью Aspose.Email. Aspose.Email для Java обрабатывает функции Microsoft Outlook и не может выполнять прямое преобразование в PDF. Чтобы обойти это, в примерах в этой статье используется Aspose.Email для преобразования электронного сообщения в поток MHTML, а затем используется Aspose.Words для Java для загрузки потока MHTML и последующего сохранения его в PDF.
Электронное сообщение также может содержать вложения. Поскольку каждое вложение может быть разных типов медиа, Aspose.Email игнорирует эти вложения при преобразовании в MHTML, т.е. только встроенные изображения в сообщении будут частью MHTML, а любые обычные вложения будут проигнорированы.
Преобразование электронного сообщения в PDF
Следующий код показывает, как преобразовать электронное сообщение в PDF с помощью Aspose.Email в сочетании с Aspose.Words для Java. Это включает в себя следующие шаги:
- Загрузите электронное сообщение с помощью MailMessage
- Сохраните электронное сообщение в MemoryStream в формате MHTML
- Загрузите поток с помощью Aspose.Words
- Сохраните сообщение в PDF
Исходное электронное сообщение можно увидеть следующим образом:
Рисунок: Исходный файл MSG |
Рисунок: Преобразованный файл PDF |
Java |
static void EmailToPdf(String emailPath) throws Exception
{
FileInputStream fstream=new FileInputStream(emailPath);
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("About Aspose.Pdf", SaveFormat.PDF);
//или Сохраните в поток
ByteArrayOutputStream foStream = new ByteArrayOutputStream();
doc.save(foStream, SaveFormat.PDF);
}