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:

  1. Načtěte e‑mailovou zprávu pomocí MailMessage
  2. Uložit e‑mailovou zprávu do MemoryStream jako MHTML
  3. Načíst proud pomocí Aspose.Words
  4. Uložit zprávu jako PDF

Zdrojovou e‑mailovou zprávu lze zobrazit následovně:

todo:image_alt_text

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

todo:image_alt_text

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);