Збереження 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);
//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);
}