Salvando um Email como PDF

Este artigo mostra como converter uma mensagem de email para PDF usando o Aspose.Email. O Aspose.Email para .NET lida com protocolos de rede e recursos do Microsoft Outlook, e não pode lidar com conversão direta para PDF. Para contornar isso, os exemplos neste artigo usam o Aspose.Email para converter a mensagem de email para o fluxo MHTML e então usam o Aspose.Words para .NET para carregar o fluxo MHTML e salvá‑lo como PDF. Uma mensagem de email pode conter anexos também. Como cada anexo pode ter tipos de mídia diferentes, o Aspose.Email ignora esses anexos ao converter para MHTML, ou seja, somente imagens inline em uma mensagem farão parte do MHTML e quaisquer anexos regulares serão ignorados.

Convertendo Mensagem de Email para PDF

O código a seguir mostra a conversão de mensagens de email para PDF usando Aspose.Email em combinação com Aspose.Words para .NET. Isso envolve os seguintes passos:

  1. Carregue a mensagem de email usando MailMessage
  2. Salvar a mensagem de e‑mail em MemoryStream como MHTML
  3. Carregar o fluxo usando Aspose.Words
  4. Salvar a mensagem como PDF

A mensagem de e‑mail original pode ser vista da seguinte forma:

todo:image_alt_text

O PDF convertido é mostrado na imagem a seguir:

todo:image_alt_text

O trecho de código a seguir mostra como converter mensagens de email para 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);