Salvataggio di un'Email come PDF

Questo articolo mostra come convertire un messaggio email in PDF usando Aspose.Email. Aspose.Email per .NET si occupa di protocolli di rete e funzionalità di Microsoft Outlook, e non può gestire la conversione diretta in PDF. Per superare questo, gli esempi in questo articolo usano Aspose.Email per convertire il messaggio email in uno stream MHTML e poi usano Aspose.Words per .NET per caricare lo stream MHTML e salvarlo come PDF. Un messaggio email può contenere anche allegati. Poiché ogni allegato può essere di diversi tipi di media, Aspose.Email ignora questi allegati durante la conversione in MHTML, cioè solo le immagini inline in un messaggio faranno parte del MHTML e gli eventuali allegati regolari saranno ignorati.

Conversione di un messaggio Email in PDF

Il codice seguente mostra la conversione dei messaggi email in PDF usando Aspose.Email in combinazione con Aspose.Words per .NET. Ciò prevede i seguenti passaggi:

  1. Carica il messaggio email usando MailMessage
  2. Salva il messaggio email in MemoryStream come MHTML
  3. Carica lo stream usando Aspose.Words
  4. Salva il messaggio come PDF

Il messaggio email di origine può essere visualizzato come segue:

todo:image_alt_text

Il PDF convertito è mostrato nella seguente immagine:

todo:image_alt_text

Il seguente frammento di codice mostra come convertire i messaggi email in 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);