#c# #pdf #outlook #word
Вопрос:
По какой-то причине сохранение почтового элемента Outlook со встроенным изображением приводит к тому, что файл PDF теряет встроенное изображение вместо сохранения изображения вместе с почтовым элементом. Он видит изображение как вложение, а не отдельно от самой почты. Что странно, однако, так это то, что это происходит только при сохранении в PDF, если я пытаюсь сохранить элемент электронной почты в .RTF, изображение не потеряно.
Вот как я сохраняю сообщение электронной почты:
Microsoft.Office.Interop.Word.Document doc = mailItem.GetInspector.WordEditor;
doc.SaveAs(PDFpath, Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatPDF);
И у меня есть оператор if, который гарантирует, что встроенное изображение не будет сохранено в качестве вложения:
if (!mailItem.HTMLBody.Contains(aFileName))
{
a.SaveAsFile(attachmentPath);
contentEditor.AddDocumentAttachment(attachmentPath, aFileName);
contentEditor.Save(PDFpath);
}
Редактор содержимого здесь предназначен для привязки вложений к сохраненному PDF-файлу.
Ответ №1:
SaveAs
принимает OlSaveAsType
формат в качестве второго параметра, нет WdSaveFormat
.
Формат PDF не поддерживается OlSaveAsType
: https://docs.microsoft.com/en-us/dotnet/api/microsoft.office.interop.outlook.olsaveastype?view=outlook-pia
Вы можете попробовать сохранить в формате MHTML ( OlSaveAsType.olMHTML
), открыть файл в Word с помощью объектной модели Word и сохранить его в формате PDF.
Комментарии:
1. Ну, я не использую сохранения Outlook, я использую сохранение взаимодействия Word, которое принимает параметр WdSaveFormat. Он отлично работает для преобразования документа, содержащего только текст, но если присутствует изображение, оно не будет отображаться. Действительно ли это потому, что я могу использовать только сохранения Outlook, а не взаимодействие со словом?