Сохранение 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
Исходное электронное сообщение выглядит следующим образом:
|
| | :- | |Figure: Source MSG File |
|
| | :- | |Figure: Converted PDF File | Java
static void EmailToPdf(String emailPath) throws Exception
{
FileInputStream fstream=new FileInputStream(emailPath);
MailMessage eml = MailMessage.load(fstream);
//Save the Message to output stream in MHTML format
ByteArrayOutputStream emlStream = new ByteArrayOutputStream();
eml.save(emlStream, SaveOptions.getDefaultMhtml());
//Load the stream in Word document
LoadOptions lo = new LoadOptions();
lo.setLoadFormat(LoadFormat.MHTML);
Document doc = new Document(new ByteArrayInputStream(emlStream.toByteArray()), lo);
//Save to disc
doc.save("About Aspose.Pdf", SaveFormat.PDF);
//or Save to stream
ByteArrayOutputStream foStream = new ByteArrayOutputStream();
doc.save(foStream, SaveFormat.PDF);
}