Converta e-mails EML e MSG para PDF em Java

EML e MSG são formatos de e-mail populares usados pelo MS Outlook para armazenar e-mails. Pode haver casos em que você precise compartilhar o conteúdo de arquivos EML ou MSG de seus aplicativos da Web ou de desktop. Uma das soluções mais adequadas é a conversão de arquivos de e-mail para o formato PDF. Neste artigo, você aprenderá como converter um e-mail EML ou MSG em PDF programaticamente em Java.

APIs Java EML e MSG para PDF Converter

Para converter arquivos de e-mail para PDF, usaremos a combinação de Aspose.Email for Java e Aspose.Words for Java. O primeiro é uma API de e-mail que fornece vários recursos para criar aplicativos de cliente de e-mail. Considerando que, o último é uma API de processamento de texto para criar e manipular documentos do Word. Você pode usar as seguintes configurações do Maven para instalar a API em seus aplicativos Java.

Repositório:

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

Dependências:

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

Além disso, você pode fazer download dos JARs das APIs nos links a seguir.

Converter um arquivo EML ou MSG para PDF em Java

A seguir estão as etapas para converter um e-mail EML ou MSG para o formato PDF em Java.

  • Carregue o arquivo de e-mail usando a classe MailMessage.
  • Salve a mensagem de e-mail em um objeto ByteArrayOutputStream como formato MHTML padrão.
  • Crie uma instância da classe LoadOptions e defina o formato de carregamento como MHTML.
  • Instancie a classe Document e passe os objetos ByteArrayOutputStream e LoadOptions como parâmetros para seu construtor.
  • Converta o e-mail em PDF usando o método Document.save(String, SaveFormat.PDF).

A seguir está o código completo para converter uma mensagem de e-mail em PDF em Java.

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

// Salve a mensagem no fluxo de saída no formato MHTML
ByteArrayOutputStream emlStream = new ByteArrayOutputStream();
eml.save(emlStream, SaveOptions.getDefaultMhtml());

// Carregar o fluxo no documento do Word
LoadOptions lo = new LoadOptions();
lo.setLoadFormat(LoadFormat.MHTML);
Document doc = new Document(new ByteArrayInputStream(emlStream.toByteArray()), lo);

// Salvar em disco
doc.save("converted.Pdf", SaveFormat.PDF);

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

Obtenha uma licença gratuita

Você pode obter uma licença temporária gratuita para experimentar as APIs sem limitações de avaliação.

Demonstração ao vivo

Conclusão

Neste artigo, você aprendeu como converter mensagens de email EML ou MSG em PDF em Java. Demonstramos como usar a combinação de Aspose.Email e Aspose.Words para implementar a conversão de e-mail para PDF a partir de aplicativos Java. Você também pode explorar as documentações abaixo mencionadas de ambas as APIs. Além disso, você pode postar suas dúvidas em nosso fórum.

Veja também