Enregistrement d'un e‑mail au format PDF
Cet article montre comment convertir un message e‑mail en PDF en utilisant Aspose.Email. Aspose.Email pour .NET gère les protocoles réseau et les fonctions de Microsoft Outlook, et ne peut pas effectuer de conversion directe vers PDF. Pour pallier cela, les exemples de cet article utilisent Aspose.Email pour convertir le message e‑mail en flux MHTML, puis utilisent Aspose.Words pour .NET afin de charger le flux MHTML et de l’enregistrer en PDF. Un message e‑mail peut également contenir des pièces jointes. Étant donné que chaque pièce jointe peut être de types de médias différents, Aspose.Email ignore ces pièces jointes lors de la conversion en MHTML, c’est‑à‑dire que seules les images inline d’un message feront partie du MHTML et que toute pièce jointe régulière sera ignorée.
Conversion d’un message e‑mail en PDF
Le code suivant montre la conversion de messages e‑mail en PDF en utilisant Aspose.Email combiné à Aspose.Words pour .NET. Cela implique les étapes suivantes :
- Chargez le message e‑mail en utilisant MailMessage
- Enregistrer le message électronique dans un MemoryStream au format MHTML
- Charger le flux avec Aspose.Words
- Enregistrer le message au format PDF
Le message électronique source peut être vu comme suit :

Le PDF converti apparaît comme sur l’image suivante :

Le fragment de code suivant montre comment convertir des e‑mails en PDF.
string dataDir = RunExamples.GetDataDir_KnowledgeBase();
MailMessage mailMsg = MailMessage.Load(dataDir + "message3.msg");
MemoryStream ms = new MemoryStream();
mailMsg.Save(ms, Aspose.Email.SaveOptions.DefaultMhtml);
// create an instance of LoadOptions and set the LoadFormat to Mhtml
var loadOptions = new Aspose.Words.Loading.LoadOptions();
loadOptions.LoadFormat = LoadFormat.Mhtml;
// create an instance of Document and load the MTHML from MemoryStream
var document = new Aspose.Words.Document(ms, loadOptions);
// create an instance of HtmlSaveOptions and set the SaveFormat to Html
var saveOptions = new Aspose.Words.Saving.PdfSaveOptions();
document.Save(dataDir + "SaveEmailAsPDF_out.pdf", saveOptions);