Speichern einer E‑Mail als PDF
Dieser Artikel zeigt, wie man eine E‑Mail‑Nachricht mit Aspose.Email in PDF konvertiert. Aspose.Email für .NET befasst sich mit Netzwerkprotokollen und Microsoft‑Outlook‑Funktionen und kann keine direkte PDF‑Konvertierung durchführen. Um dies zu umgehen, verwenden die Beispiele in diesem Artikel Aspose.Email, um die E‑Mail‑Nachricht in einen MHTML‑Stream zu konvertieren, und anschließend Aspose.Words für .NET, um den MHTML‑Stream zu laden und als PDF zu speichern. Eine E‑Mail‑Nachricht kann ebenfalls Anhänge enthalten. Da jeder Anhang unterschiedliche Medientypen haben kann, ignoriert Aspose.Email diese Anhänge bei der Konvertierung zu MHTML, d. h. nur Inline‑Bilder einer Nachricht werden Teil des MHTML, reguläre Anhänge werden ignoriert.
Konvertierung einer E‑Mail‑Nachricht zu PDF
Der folgende Code zeigt die Konvertierung von E‑Mail‑Nachrichten zu PDF mithilfe von Aspose.Email in Kombination mit Aspose.Words für .NET. Dies umfasst die folgenden Schritte:
- Laden Sie die E‑Mail‑Nachricht mit MailMessage
- 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:

Das konvertierte PDF ist im folgenden Bild zu sehen:

Das folgende Code‑Snippet zeigt, wie Sie E‑Mail‑Nachrichten in PDF konvertieren.
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);