Zapisywanie e‑mail jako PDF
Ten artykuł pokazuje, jak przekonwertować wiadomość e‑mail na PDF przy użyciu Aspose.Email. Aspose.Email for .NET zajmuje się protokołami sieciowymi i funkcjami 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 for .NET 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, tj. tylko obrazy wbudowane w wiadomość będą częścią MHTML, a wszelkie zwykłe załączniki zostaną pominięte.
Konwersja wiadomości e‑mail do PDF
Poniższy kod pokazuje konwersję wiadomości e‑mail na PDF przy użyciu Aspose.Email w połączeniu z Aspose.Words for .NET. 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:

Przekonwertowany PDF jest przedstawiony na poniższym obrazku:

Poniższy fragment kodu pokazuje, jak przekonwertować wiadomości e‑mail na 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);