Convierta correos electrónicos EML y MSG a PDF en Java

EML y MSG son formatos de correo electrónico populares utilizados por MS Outlook para almacenar correos electrónicos. Podría haber casos en los que necesite compartir el contenido de archivos EML o MSG desde su web o aplicaciones de escritorio. Una de las soluciones más adecuadas es la conversión de archivos de correo electrónico a formato PDF. En este artículo, aprenderá cómo convertir un correo electrónico EML o MSG a PDF mediante programación en Java.

API de conversión de Java EML y MSG a PDF

Para convertir archivos de correo electrónico a PDF, usaremos la combinación de Aspose.Email for Java y Aspose.Words for Java. La primera es una API de correo electrónico que proporciona un montón de funciones para crear aplicaciones de cliente de correo electrónico. Mientras que el último es una API de procesamiento de textos para crear y manipular documentos de Word. Puede utilizar las siguientes configuraciones de Maven para instalar la API en sus aplicaciones Java.

Repositorio:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
<repository>

Dependencias:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-email</artifactId>
    <version>22.2</version>
    <classifier>jdk16</classifier>
</dependency>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-words</artifactId>
    <version>22.3</version>
    <type>pom</type>
</dependency>

Además, puede descargar los JAR de las API desde los siguientes enlaces.

Convierta un archivo EML o MSG a PDF en Java

Los siguientes son los pasos para convertir un correo electrónico EML o MSG a formato PDF en Java.

  • Cargue el archivo de correo electrónico usando la clase MailMessage.
  • Guarde el mensaje de correo electrónico en un objeto ByteArrayOutputStream como formato MHTML predeterminado.
  • Cree una instancia de la clase LoadOptions y configure el formato de carga como MHTML.
  • Crea una instancia de la clase Document y pasa los objetos ByteArrayOutputStream y LoadOptions como parámetros a su constructor.
  • Convierta el correo electrónico a PDF utilizando el método Document.save(String, SaveFormat.PDF).

El siguiente es el código completo para convertir un mensaje de correo electrónico a PDF en Java.

// Cargar correo electrónico
FileInputStream fstream=new FileInputStream("email.eml");
MailMessage eml = MailMessage.load(fstream);

// Guarde el mensaje en el flujo de salida en formato MHTML
ByteArrayOutputStream emlStream = new ByteArrayOutputStream();
eml.save(emlStream, SaveOptions.getDefaultMhtml());

// Cargue la transmisión en un documento de Word
LoadOptions lo = new LoadOptions();
lo.setLoadFormat(LoadFormat.MHTML);
Document doc = new Document(new ByteArrayInputStream(emlStream.toByteArray()), lo);

// Guardar en disco
doc.save("converted.Pdf", SaveFormat.PDF);

// O guardar para transmitir
ByteArrayOutputStream foStream = new ByteArrayOutputStream();
doc.save(foStream, SaveFormat.PDF);

Obtenga una licencia gratis

Puede obtener una licencia temporal gratuita para probar las API sin limitaciones de evaluación.

Demo en vivo

Conclusión

En este artículo, ha aprendido cómo convertir mensajes de correo electrónico EML o MSG a PDF en Java. Hemos demostrado cómo usar la combinación de Aspose.Email y Aspose.Words para implementar la conversión de correo electrónico a PDF desde aplicaciones Java. También puede explorar las documentaciones mencionadas a continuación de ambas API. Además, puede publicar sus consultas en nuestro foro.

Ver también