Salvando um MSG como PDF
Contents
[
Hide
]
Este artigo mostra como converter uma mensagem de e‑mail para PDF usando Aspose.Email. O Aspose.Email para Java lida com recursos do Microsoft Outlook e não pode realizar conversão direta para PDF. Para contornar isso, os exemplos neste artigo usam o Aspose.Email para converter a mensagem de e‑mail para um fluxo MHTML e, em seguida, utilizam o Aspose.Words para Java para carregar o fluxo MHTML e salvá‑lo como PDF.
Uma mensagem de e‑mail também pode conter anexos. Como cada anexo pode ter um tipo de mídia diferente, o Aspose.Email ignora esses anexos ao converter para MHTML, ou seja, apenas imagens embutidas na mensagem farão parte do MHTML e quaisquer anexos regulares serão ignorados.
Converter mensagem de e‑mail para PDF
O código a seguir mostra a conversão de mensagem de e‑mail para PDF usando Aspose.Email em combinação com Aspose.Words para Java. Isso envolve as seguintes etapas:
- Carregar a mensagem de e‑mail usando MailMessage
- Salvar a mensagem de e‑mail em MemoryStream como MHTML
- Carregar o fluxo usando Aspose.Words
- Salvar a mensagem como PDF
A mensagem de e‑mail original pode ser vista da seguinte forma:
|
| | :- | |Figura: Arquivo MSG Fonte |
|
| | :- | |Figura: Arquivo PDF Convertido | Java
static void EmailToPdf(String emailPath) throws Exception
{
FileInputStream fstream=new FileInputStream(emailPath);
MailMessage eml = MailMessage.load(fstream);
//Save the Message to output stream in MHTML format
ByteArrayOutputStream emlStream = new ByteArrayOutputStream();
eml.save(emlStream, SaveOptions.getDefaultMhtml());
//Load the stream in Word document
LoadOptions lo = new LoadOptions();
lo.setLoadFormat(LoadFormat.MHTML);
Document doc = new Document(new ByteArrayInputStream(emlStream.toByteArray()), lo);
//Save to disc
doc.save("About Aspose.Pdf", SaveFormat.PDF);
//or Save to stream
ByteArrayOutputStream foStream = new ByteArrayOutputStream();
doc.save(foStream, SaveFormat.PDF);
}