Zapisywanie pliku MSG jako PDF
Contents
[
Hide
]
Ten artykuł pokazuje, jak przekonwertować wiadomość e‑mail na PDF przy użyciu Aspose.Email. Aspose.Email dla Javy obsługuje funkcje Microsoft Outlook i nie może bezpośrednio konwertować do PDF. Aby to obejść, przykłady w tym artykule używają Aspose.Email do konwersji wiadomości e‑mail na strumień MHTML, a następnie używają Aspose.Words dla Javy do załadowania tego strumienia MHTML i zapisania go jako PDF.
Wiadomość e‑mail może również zawierać załączniki. Ponieważ każdy załącznik może mieć inny typ mediów, Aspose.Email ignoruje te załączniki podczas konwersji do MHTML, tzn. tylko obrazy wstawione w treść wiadomości będą częścią MHTML, a wszystkie standardowe załączniki zostaną pominięte.
Konwertuj wiadomość e‑mail na PDF
Poniższy kod pokazuje konwersję wiadomości e‑mail na PDF przy użyciu Aspose.Email w połączeniu z Aspose.Words dla Javy. Obejmuje to następujące kroki:
- Załaduj wiadomość e‑mail przy użyciu MailMessage
- Zapisz wiadomość e‑mail do MemoryStream jako MHTML
- Załaduj strumień przy użyciu Aspose.Words
- Zapisz wiadomość jako PDF
Źródłową wiadomość e‑mail można zobaczyć w następujący sposób:
|
| | :- | |Rysunek: Źródłowy plik MSG |
|
| | :- | |Rysunek: Przekonwertowany plik 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);
}