Guardar un MSG como PDF
Contents
[
Hide
]
Este artículo muestra cómo convertir un mensaje de correo electrónico a PDF usando Aspose.Email. Aspose.Email para Java maneja las funciones de Microsoft Outlook, y no puede manejar la conversión directa a PDF. Para superar esto, los ejemplos en este artículo usan Aspose.Email para convertir el mensaje de correo electrónico a un flujo MHTML y luego usan Aspose.Words para Java para cargar el flujo MHTML y guardarlo como PDF.
Un mensaje de correo electrónico también puede contener archivos adjuntos. Dado que cada adjunto puede ser de un tipo de medio diferente, Aspose.Email ignora estos adjuntos al convertir a MHTML, es decir, solo las imágenes en línea en un mensaje formarán parte del MHTML y cualquier adjunto regular será ignorado.
Convertir mensaje de correo a PDF
El siguiente código muestra la conversión de un mensaje de correo a PDF usando Aspose.Email en combinación con Aspose.Words para Java. Esto involucra los siguientes pasos:
- Cargar el mensaje de correo usando MailMessage
- Guardar el mensaje de correo en MemoryStream como MHTML
- Cargar el flujo usando Aspose.Words
- Guardar el mensaje como PDF
El mensaje de correo fuente se puede ver de la siguiente manera:
|
| | :- | |Figura: Archivo MSG fuente |
|
| | :- | |Figura: Archivo 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);
}