Ukládání e‑mailu jako PDF
Tento článek ukazuje, jak převést e‑mailovou zprávu do PDF pomocí Aspose.Email. Aspose.Email pro .NET pracuje s síťovými protokoly a funkcemi Microsoft Outlook a nedokáže provést přímý převod do PDF. Pro překonání tohoto omezení používají ukázky v tomto článku Aspose.Email ke konverzi e‑mailové zprávy do MHTML proudu a následně používají Aspose.Words pro .NET k načtení MHTML proudu a jeho uložení jako PDF. E‑mailová zpráva může také obsahovat přílohy. Protože každá příloha může být různých mediálních typů, Aspose.Email při konverzi do MHTML tyto přílohy ignoruje, tj. pouze vložené obrázky v zprávě budou součástí MHTML a jakékoli běžné přílohy budou ignorovány.
Převod e‑mailové zprávy do PDF
Následující kód ukazuje převod e‑mailových zpráv do PDF pomocí Aspose.Email v kombinaci s Aspose.Words pro .NET. To zahrnuje následující kroky:
- Načtěte e‑mailovou zprávu pomocí MailMessage
- Uložit e‑mailovou zprávu do MemoryStream jako MHTML
- Načíst proud pomocí Aspose.Words
- Uložit zprávu jako PDF
Zdrojovou e‑mailovou zprávu lze zobrazit následovně:

Převod PDF vypadá, jak je zobrazeno na následujícím obrázku:

Následující úryvek kódu ukazuje, jak převést e‑mailové zprávy do 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);