Converti e-mail EML e MSG in PDF in Java

EML e MSG sono formati e-mail popolari utilizzati da MS Outlook per archiviare le e-mail. Potrebbero verificarsi casi in cui è necessario condividere il contenuto di file EML o MSG dall’interno delle applicazioni Web o desktop. Una delle soluzioni più adatte è la conversione dei file di posta elettronica in formato PDF. In questo articolo imparerai come convertire un’e-mail EML o MSG in PDF in modo programmatico in Java.

API di conversione Java EML e MSG in PDF

Per convertire i file di posta elettronica in PDF, utilizzeremo la combinazione di Aspose.Email per Java e Aspose.Words per Java. La prima è un’API di posta elettronica che fornisce una serie di funzionalità per creare applicazioni client di posta elettronica. Considerando che quest’ultima è un’API di elaborazione testi per la creazione e la manipolazione di documenti Word. Puoi utilizzare le seguenti configurazioni Maven per installare l’API nelle tue applicazioni Java.

Archivio:

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

Dipendenze:

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

Inoltre, puoi scaricare i JAR delle API dai seguenti link.

Converti un file EML o MSG in PDF in Java

Di seguito sono riportati i passaggi per convertire un’e-mail EML o MSG in formato PDF in Java.

  • Carica il file e-mail utilizzando la classe MailMessage.
  • Salva il messaggio di posta elettronica in un oggetto ByteArrayOutputStream come formato MHTML predefinito.
  • Crea un’istanza della classe LoadOptions e imposta il formato di caricamento come MHTML.
  • Istanziare la classe Document e passare gli oggetti ByteArrayOutputStream e LoadOptions come parametri al relativo costruttore.
  • Converti l’e-mail in PDF utilizzando il metodo Document.save(String, SaveFormat.PDF).

Quello che segue è il codice completo per convertire un messaggio di posta elettronica in PDF in Java.

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

// Salva il messaggio nel flusso di output in formato MHTML
ByteArrayOutputStream emlStream = new ByteArrayOutputStream();
eml.save(emlStream, SaveOptions.getDefaultMhtml());

// Carica lo stream nel documento di Word
LoadOptions lo = new LoadOptions();
lo.setLoadFormat(LoadFormat.MHTML);
Document doc = new Document(new ByteArrayInputStream(emlStream.toByteArray()), lo);

// Salva su disco
doc.save("converted.Pdf", SaveFormat.PDF);

// O salva per lo streaming
ByteArrayOutputStream foStream = new ByteArrayOutputStream();
doc.save(foStream, SaveFormat.PDF);

Ottieni una licenza gratuita

Puoi ottenere una licenza temporanea gratuita per provare le API senza limitazioni di valutazione.

Dimostrazione dal vivo

Conclusione

In questo articolo, hai imparato come convertire i messaggi di posta elettronica EML o MSG in PDF in Java. Abbiamo dimostrato come utilizzare la combinazione di Aspose.Email e Aspose.Words per implementare la conversione da email a PDF dall’interno di applicazioni Java. Puoi anche esplorare le documentazioni sotto menzionate di entrambe le API. Inoltre, puoi inviare le tue domande al nostro forum.

Guarda anche