Збереження електронного листа у формат PDF
У цій статті показано, як конвертувати електронний лист у PDF за допомогою Aspose.Email. Aspose.Email для .NET працює з мережевими протоколами та функціями Microsoft Outlook і не може виконати пряме перетворення у PDF. Щоб подолати це, у прикладах статті використовується Aspose.Email для перетворення електронного листа у потік MHTML, а потім Aspose.Words для .NET завантажує цей потік MHTML і зберігає його у PDF. Електронний лист може містити також вкладення. Оскільки кожне вкладення може мати різний медіа‑тип, Aspose.Email ігнорує ці вкладення під час конвертації у MHTML, тобто лише вбудовані зображення в повідомленні будуть частиною MHTML, а всі звичайні вкладення будуть проігноровані.
Конвертація електронного листа у PDF
Нижче наведено код, який демонструє конвертацію електронних листів у PDF за допомогою Aspose.Email у поєднанні з Aspose.Words для .NET. Це включає такі кроки:
- Завантажте електронний лист за допомогою MailMessage
- Зберегти лист у MemoryStream у форматі MHTML
- Завантажити потік за допомогою Aspose.Words
- Зберегти лист у PDF
Вихідний лист можна бачити наступним чином:

Отриманий PDF виглядає так, як на наведеному зображенні:

Наведений фрагмент коду показує, як конвертувати електронні листи у 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);