Een MSG opslaan als PDF
Contents
[
Hide
]
Dit artikel toont hoe een e‑mailbericht naar PDF kan worden geconverteerd met Aspose.Email. Aspose.Email voor Java ondersteunt Microsoft Outlook‑functies, maar kan geen directe conversie naar PDF uitvoeren. Om dit te omzeilen gebruiken de voorbeelden in dit artikel Aspose.Email om het e‑mailbericht naar een MHTML‑stroom te converteren en vervolgens Aspose.Words voor Java om de MHTML‑stroom te laden en deze als PDF op te slaan.
Een e‑mailbericht kan ook bijlagen bevatten. Omdat elke bijlage een ander mediatype kan hebben, negeert Aspose.Email deze bijlagen bij het converteren naar MHTML, d.w.z. alleen inline‑afbeeldingen in een bericht maken deel uit van MHTML en reguliere bijlagen worden genegeerd.
E‑mailbericht naar PDF converteren
De volgende code toont het converteren van een e‑mailbericht naar PDF met Aspose.Email in combinatie met Aspose.Words voor Java. Dit omvat de volgende stappen:
- Laad het e‑mailbericht met MailMessage
- Sla het e‑mailbericht op in MemoryStream als MHTML
- Laad de stroom met Aspose.Words
- Sla het bericht op als PDF
Het bron‑e‑mailbericht kan als volgt worden bekeken:
|
| | :- | |Figuur: Bron‑MSG‑bestand |
|
| | :- | |Figuur: Converteerd PDF‑bestand | 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);
}