Запазване на 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);
}