Convertir les e-mails EML et MSG en PDF en Java

EML et MSG sont des formats de messagerie populaires utilisés par MS Outlook pour stocker les e-mails. Il peut arriver que vous ayez besoin de partager le contenu de fichiers EML ou MSG à partir de vos applications Web ou de bureau. L’une des solutions les plus adaptées est la conversion des fichiers de courrier électronique au format PDF. Dans cet article, vous apprendrez comment convertir un e-mail EML ou MSG en PDF par programme en Java.

API de conversion Java EML et MSG en PDF

Pour convertir des fichiers d’e-mails en PDF, nous utiliserons la combinaison de Aspose.Email for Java et Aspose.Words for Java. Le premier est une API de messagerie qui fournit un ensemble de fonctionnalités pour créer des applications client de messagerie. Alors que ce dernier est une API de traitement de texte pour créer et manipuler des documents Word. Vous pouvez utiliser les configurations Maven suivantes pour installer l’API dans vos applications Java.

Repository:

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

Dépendances :

<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>

Vous pouvez également télécharger les fichiers JAR des API à partir des liens suivants.

Convertir un fichier EML ou MSG en PDF en Java

Voici les étapes pour convertir un e-mail EML ou MSG au format PDF en Java.

  • Chargez le fichier e-mail à l’aide de la classe MailMessage.
  • Enregistrez le message électronique dans un objet ByteArrayOutputStream au format MHTML par défaut.
  • Créez une instance de la classe LoadOptions et définissez le format de chargement sur MHTML.
  • Instanciez la classe Document et transmettez les objets ByteArrayOutputStream et LoadOptions en tant que paramètres à son constructeur.
  • Convertissez l’e-mail en PDF à l’aide de la méthode Document.save(String, SaveFormat.PDF).

Voici le code complet pour convertir un message électronique en PDF en Java.

// Charger l'e-mail
FileInputStream fstream=new FileInputStream("email.eml");
MailMessage eml = MailMessage.load(fstream);

// Enregistrez le message dans le flux de sortie au format MHTML
ByteArrayOutputStream emlStream = new ByteArrayOutputStream();
eml.save(emlStream, SaveOptions.getDefaultMhtml());

// Charger le flux dans le document Word
LoadOptions lo = new LoadOptions();
lo.setLoadFormat(LoadFormat.MHTML);
Document doc = new Document(new ByteArrayInputStream(emlStream.toByteArray()), lo);

// Enregistrer sur disque
doc.save("converted.Pdf", SaveFormat.PDF);

// Ou enregistrer pour diffuser
ByteArrayOutputStream foStream = new ByteArrayOutputStream();
doc.save(foStream, SaveFormat.PDF);

Obtenez une licence gratuite

Vous pouvez obtenir une licence temporaire gratuite afin d’essayer les API sans limitation d’évaluation.

Démo en direct

Conclusion

Dans cet article, vous avez appris à convertir des e-mails EML ou MSG en PDF en Java. Nous avons montré comment utiliser la combinaison de Aspose.Email et Aspose.Words pour implémenter la conversion de courrier électronique en PDF à partir d’applications Java. Vous pouvez également explorer les documentations mentionnées ci-dessous des deux API. Vous pouvez également poster vos questions sur notre forum.

Voir également