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.