Speichern einer MSG als PDF
Contents
[
Hide
]
Dieser Artikel zeigt, wie man eine E‑Mail‑Nachricht mit Aspose.Email in PDF konvertiert. Aspose.Email für Java verarbeitet Microsoft‑Outlook‑Funktionen und kann keine direkte Konvertierung nach PDF durchführen. Um dies zu umgehen, verwendet dieser Artikel Aspose.Email, um die E‑Mail‑Nachricht in einen MHTML‑Stream zu konvertieren und dann Aspose.Words für Java, um den MHTML‑Stream zu laden und als PDF zu speichern.
Eine E‑Mail‑Nachricht kann ebenfalls Anhänge enthalten. Da jeder Anhang einen anderen Medientyp haben kann, ignoriert Aspose.Email diese Anhänge beim Konvertieren nach MHTML, d.h. nur Inline‑Bilder in einer Nachricht werden Teil des MHTML sein und reguläre Anhänge werden ignoriert.
E‑Mail‑Nachricht in PDF konvertieren
Der folgende Code zeigt, wie man eine E‑Mail‑Nachricht mit Aspose.Email in Kombination mit Aspose.Words für Java in PDF konvertiert. Dies umfasst die folgenden Schritte:
- E‑Mail‑Nachricht mit MailMessage laden
- E‑Mail‑Nachricht in MemoryStream als MHTML speichern
- Stream mit Aspose.Words laden
- Nachricht als PDF speichern
Die Quell‑E‑Mail‑Nachricht sieht wie folgt aus:
|
| | :- | |Abbildung: Quell‑MSG‑Datei |
|
| | :- | |Abbildung: Konvertierte PDF‑Datei | 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);
}