Spara ett e‑postmeddelande som PDF

Denna artikel visar hur man konverterar ett e‑postmeddelande till PDF med Aspose.Email. Aspose.Email för .NET hanterar nätverksprotokoll och Microsoft Outlook‑funktioner och kan inte utföra direkt konvertering till PDF. För att lösa detta använder exemplen i artikeln Aspose.Email för att konvertera e‑postmeddelandet till en MHTML‑ström och sedan Aspose.Words för .NET för att läsa in MHTML‑strömmen och spara den som PDF. Ett e‑postmeddelande kan också innehålla bilagor. Eftersom varje bilaga kan ha olika mediatyper ignorerar Aspose.Email dessa bilagor vid konvertering till MHTML, d.v.s. endast inbäddade bilder i ett meddelande blir en del av MHTML och vanliga bilagor ignoreras.

Konvertera e‑postmeddelande till PDF

Följande kod visar hur man konverterar e‑postmeddelanden till PDF med Aspose.Email i kombination med Aspose.Words för .NET. Detta innefattar följande steg:

  1. Läs in e‑postmeddelandet med MailMessage
  2. Spara e‑postmeddelandet till MemoryStream som MHTML
  3. Läs in strömmen med Aspose.Words
  4. Spara meddelandet som PDF

Käll‑e‑postmeddelandet kan visas enligt följande:

todo:image_alt_text

Den konverterade PDF‑filen visas i följande bild:

todo:image_alt_text

Följande kodsnutt visar hur du konverterar e‑postmeddelanden till 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);