حفظ ملف MSG كملف PDF
Contents
[
Hide
]
يوضح هذا المقال كيفية تحويل رسالة بريد إلكتروني إلى PDF باستخدام Aspose.Email. لا تتعامل Aspose.Email for Java مع ميزات Microsoft Outlook، ولا يمكنها إجراء تحويل مباشر إلى PDF. لتجاوز ذلك، تستخدم الأمثلة في هذا المقال Aspose.Email لتحويل رسالة البريد إلى تدفق MHTML، ثم تستخدم Aspose.Words for Java لتحميل تدفق MHTML وحفظه كملف PDF.
يمكن أن تحتوي رسالة البريد الإلكتروني على مرفقات أيضًا. نظرًا لأن كل مرفق قد يكون من نوع وسائط مختلف، يتجاهل Aspose.Email هذه المرفقات أثناء التحويل إلى MHTML، أي أن الصور المضمنة داخل الرسالة فقط ستكون جزءًا من MHTML، بينما ستُهمل أي مرفقات عادية.
تحويل رسالة البريد إلى PDF
يُظهر الكود التالي تحويل رسالة البريد إلى PDF باستخدام Aspose.Email بالتزامن مع Aspose.Words for Java. يتضمن ذلك الخطوات التالية:
- حمّل رسالة البريد باستخدام MailMessage
- احفظ رسالة البريد إلى MemoryStream كملف MHTML
- حمّل التدفق باستخدام Aspose.Words
- احفظ الرسالة كملف PDF
يمكن رؤية رسالة البريد الأصلية كما يلي:
|
| | :- | |الشكل: ملف MSG المصدر |
|
| | :- | |الشكل: ملف PDF تم تحويله | 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);
}