Lưu Email dưới dạng PDF
Bài viết này chỉ cách chuyển đổi một tin nhắn email sang PDF bằng Aspose.Email. Aspose.Email cho .NET xử lý các giao thức mạng và tính năng của Microsoft Outlook, và không thể thực hiện chuyển đổi trực tiếp sang PDF. Để khắc phục, các mẫu trong bài viết này sử dụng Aspose.Email để chuyển đổi tin nhắn email thành luồng MHTML và sau đó dùng Aspose.Words cho .NET để tải luồng MHTML và lưu nó dưới dạng PDF. Một tin nhắn email cũng có thể chứa tệp đính kèm. Vì mỗi tệp đính kèm có thể có các loại phương tiện khác nhau, Aspose.Email sẽ bỏ qua các tệp đính kèm này khi chuyển đổi sang MHTML, tức là chỉ các hình ảnh inline trong tin nhắn sẽ là một phần của MHTML và bất kỳ tệp đính kèm thường nào sẽ bị bỏ qua.
Chuyển đổi tin nhắn Email sang PDF
Đoạn mã dưới đây cho thấy việc chuyển đổi tin nhắn email sang PDF bằng Aspose.Email kết hợp với Aspose.Words cho .NET. Điều này bao gồm các bước sau:
- Tải tin nhắn email bằng cách sử dụng MailMessage
- Lưu tin email vào MemoryStream dưới dạng MHTML
- Tải luồng bằng Aspose.Words
- Lưu tin dưới dạng PDF
Tin email nguồn có thể được xem như sau:

PDF đã chuyển đổi được hiển thị trong hình ảnh sau:

Đoạn mã dưới đây cho bạn thấy cách chuyển đổi tin nhắn email sang PDF.
string dataDir = RunExamples.GetDataDir_KnowledgeBase();
MailMessage mailMsg = MailMessage.Load(dataDir + "message3.msg");
MemoryStream ms = new MemoryStream();
mailMsg.Save(ms, Aspose.Email.SaveOptions.DefaultMhtml);
// create an instance of LoadOptions and set the LoadFormat to Mhtml
var loadOptions = new Aspose.Words.Loading.LoadOptions();
loadOptions.LoadFormat = LoadFormat.Mhtml;
// create an instance of Document and load the MTHML from MemoryStream
var document = new Aspose.Words.Document(ms, loadOptions);
// create an instance of HtmlSaveOptions and set the SaveFormat to Html
var saveOptions = new Aspose.Words.Saving.PdfSaveOptions();
document.Save(dataDir + "SaveEmailAsPDF_out.pdf", saveOptions);