Ukládání souboru MSG jako PDF
Contents
[
Hide
]
Tento článek ukazuje, jak převést e‑mailovou zprávu na PDF pomocí Aspose.Email. Aspose.Email pro Java pracuje s funkcemi Microsoft Outlook a nemůže provést přímý převod do PDF. Pro překonání tohoto omezení vzorky v tomto článku používají Aspose.Email k převodu e‑mailové zprávy do proudu MHTML a následně využívají Aspose.Words pro Java k načtení proudu MHTML a jeho uložení jako PDF.
E‑mailová zpráva může obsahovat také přílohy. Protože každá příloha může být jiného typu média, Aspose.Email během převodu na MHTML tyto přílohy ignoruje, tj. pouze vložené obrázky ve zprávě budou součástí MHTML a běžné přílohy budou ignorovány.
Převést e‑mailovou zprávu na PDF
Následující kód ukazuje převod e‑mailové zprávy na PDF pomocí Aspose.Email v kombinaci s Aspose.Words pro Java. Tento proces zahrnuje následující kroky:
- Načíst e‑mailovou zprávu pomocí MailMessage
- Uložit e‑mailovou zprávu do MemoryStream jako MHTML
- Načíst proud pomocí Aspose.Words
- Uložit zprávu jako PDF
Zdrojovou e‑mailovou zprávu lze zobrazit následovně:
|
| | :- | |Obrázek: Zdrojový soubor MSG |
|
| | :- | |Obrázek: Převod PDF souboru | 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);
}