Converter e-mail para PDF

Pode haver vários cenários em que você precisa incorporar o conteúdo dos e-mails em seus aplicativos da Web ou da área de trabalho. Nesses casos, você pode converter as mensagens de e-mail em um formato que possa ser facilmente incorporado e exibido. Uma das soluções possíveis é a conversão de e-mail para PDF. Este artigo fornece um guia passo a passo e uma amostra de código de como converter um email EML ou MSG em PDF usando C#.

C# EML e e-mails MSG para a API do conversor de PDF

Aspose.Email for .NET é uma biblioteca de classes C# projetada para criar e manipular formatos de e-mail populares de dentro dos aplicativos .NET. Em combinação com Aspose.Words for .NET, a API permite converter as mensagens de e-mail para o formato PDF com alta fidelidade. Você pode baixar as DLLs das APIs ou instalá-las em seus aplicativos .NET usando o NuGet.

PM> Install-Package Aspose.Words
PM> Install-Package Aspose.Email

Etapas para converter EML ou MSG em PDF usando C#

A seguir estão as etapas para converter mensagens de email em formato PDF em C#.

  • Carregue o arquivo de e-mail usando a classe MailMessage.
// Carregar mensagem de e-mail usando arquivo
MailMessage mailMsg = MailMessage.Load("message.msg");
  • Salve a mensagem de e-mail em um objeto MemoryStream como formato MHTML padrão.
// Criar fluxo de memória
MemoryStream ms = new MemoryStream();

// Salvar mensagem de e-mail no fluxo de memória
MailMessage.Save(ms, Aspose.Email.SaveOptions.DefaultMhtml);
// Criar e definir opções de carregamento
var loadOptions = new Aspose.Words.LoadOptions();
loadOptions.LoadFormat = LoadFormat.Mhtml;
// Crie uma instância de Document e carregue o MTHML do MemoryStream
var document = new Aspose.Words.Document(ms, loadOptions);
// crie uma instância da classe PDFSaveOptions
var pdfSaveOptions = new Aspose.Words.Saving.PdfSaveOptions();
// Salvar e-mail como PDF
document.Save("email-to-pdf.pdf", pdfSaveOptions);

C# Conversão de e-mail para PDF - Código completo

A seguir está o código completo para converter uma mensagem de e-mail em PDF usando APIs Aspose.Emails para .NET e Aspose.Words para .NET.

// Carregar mensagem de e-mail
MailMessage mailMsg = MailMessage.Load("message.msg");

MemoryStream ms = new MemoryStream();
mailMsg.Save(ms, Aspose.Email.SaveOptions.DefaultMhtml);

// crie uma instância de LoadOptions e defina o LoadFormat para Mhtml
var loadOptions = new Aspose.Words.LoadOptions();
loadOptions.LoadFormat = LoadFormat.Mhtml;

// crie uma instância de Document e carregue o MTHML do MemoryStream
var document = new Aspose.Words.Document(ms, loadOptions);

// crie uma instância de HtmlSaveOptions
var saveOptions = new Aspose.Words.Saving.PdfSaveOptions();
document.Save("email-to-pdf.pdf", saveOptions);

Obtenha uma licença gratuita

Você pode obter uma licença temporária gratuita para experimentar as APIs sem limitações de avaliação.

Demonstração ao vivo

Conclusão

A conversão de e-mail para PDF pode entrar em prática quando você precisa incorporar as mensagens de e-mail em seus aplicativos da web ou desktop. Portanto, neste artigo, você aprendeu como converter mensagens de email em PDF usando C# em seus aplicativos .NET. Para explorar mais sobre as APIs que estão sendo usadas, você pode visitar as seguintes documentações.

Veja também