Записване на имейл като 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);