Cómo convertir el correo electrónico de Outlook a PDF usando C#

En este sencillo tutorial, aprenderemos cómo convertir Outlook Email a PDF usando C# junto con pasos detallados para configurar el entorno. Verá que para convertir MSG a PDF, se puede usar la API basada en C# y puede usar este ejemplo en cualquiera de los sistemas operativos comúnmente disponibles como Windows, macOS o Linux.

Pasos para convertir el correo electrónico de Outlook a PDF usando C#

  1. Instale las bibliotecas Aspose.Email y Aspose.Words desde la herramienta del administrador de paquetes NuGet en Visual Studio
  2. Inicialice el objeto de clase MailMessage para cargar el archivo de correo electrónico en formato MSG o EML
  3. Guarde el archivo de correo electrónico cargado (MSG/EML) como una secuencia en un formato MHTML intermedio
  4. Establezca LoadFormat en MHTML e inicialice el objeto de clase Document para cargar el MHTML creado en el paso anterior
  5. Al utilizar el método Guardar en C#, se realiza la conversión de EML a PDF

Mediante el uso de los pasos anteriores en * C# MSG a PDF * se desarrolla la aplicación de conversión. Cargaremos el archivo MSG o EML utilizando el objeto de clase MailMessage en el primer paso. Luego, guardaremos el archivo de correo electrónico cargado en una secuencia en un formato MHTML intermedio. En los pasos siguientes, cargaremos el MHTML intermedio utilizando el objeto de la clase Documento. Finalmente, para convertir EML a PDF C#, se utilizará el método Guardar y el PDF se guardará en el disco.

Código para convertir el correo electrónico de Outlook a PDF usando C#

using System;
using System.IO;
using Aspose.Email;
using Aspose.Words;
namespace WordKB
{
public class EmailToPDF
{
public static void EmailToPDFExample()
{
// Applying product license to read the Email (MSG/EML) file
Aspose.Email.License EmailLic = new Aspose.Email.License();
EmailLic.SetLicense("Aspose.Total.lic");
// Applying product license to convert MHTML to PDF
Aspose.Words.License WordsLic = new Aspose.Words.License();
WordsLic.SetLicense("Aspose.Total.lic");
using (MemoryStream ms = new MemoryStream())
{
// Load the MSG or EML file
MailMessage message = MailMessage.Load("Message.msg");
message.Save(ms, Aspose.Email.SaveOptions.DefaultMhtml);
// Resest the Memory stream position
ms.Position = 0;
// Instantiate LoadOptions to set the LoadFormat to Mhtml
Aspose.Words.Loading.LoadOptions loadOptions = new Aspose.Words.Loading.LoadOptions();
loadOptions.LoadFormat = LoadFormat.Mhtml;
// Instantiate Document class object to load the MTHML from MemoryStream
Aspose.Words.Document document = new Aspose.Words.Document(ms, loadOptions);
// Instantiate PdfSaveOptions class object
var saveOptions = new Aspose.Words.Saving.PdfSaveOptions();
// Save the MHTML to PDF using C#
document.Save("SaveEmailAsPDF.pdf", saveOptions);
}
}
}
}

En el ejemplo anterior, para convertir EML a PDF, C# se usa con la ayuda de llamadas API simples y pasos bien definidos. El ejemplo anterior se puede utilizar para archivos de correo electrónico en formatos MSG y EML. Puede personalizar el PDF de salida configurando propiedades como ColorMode, Compliance, ImageCompression y JpegQuality.

Para convertir MSG a PDF, la API basada en C# se explora en este artículo. Si está buscando cómo enviar correos electrónicos en C#, consulte el artículo sobre cómo enviar correo electrónico en C#.

 Español