2015-04-27 4 views
0

Существует много библиотек, которые предназначены для преобразования HTML в PDF. Все, на что я смотрел, есть ограничения. Мы не хотим тратить на это деньги, поэтому хотели бы знать, можно ли печатать в файл в формате PDF без всплывающих окон, которые Outlook обычно производит. Мы используем Outlook 2013 с Exchange.Interop.Outlook Печать в файл (PDF)?

This thread предполагает, что ответ НЕТ. Но this thread предполагает, что это может быть сделано. Я ищу четкий путь для достижения своей цели.

Чтобы усложнить ситуацию, я использую функцию Mail.Display, чтобы разрешить пользователю изменять электронную почту перед отправкой. Они могут добавлять вложения, если они того захотят. Как только они выберут параметр «Отправить», я хочу захватить отправленное электронное письмо и создать PDF-файл, который будет храниться в хранилище данных для удобного поиска всеми, кто обращается к учетной записи клиента. Здесь я столкнулся с трудностями. Объект Mail недоступен после возврата из функции отображения. Как я могу получить отправленное письмо и обработать его?

+0

Возможный дубликат [Как использовать Interop.Outlook для изменения параметров печати] (http://stackoverflow.com/questions/19456997/how-to-use-interop-outlook-to-change-print-options) –

ответ

1

Да, это возможно.

Outlook использует Word в качестве редактора электронной почты. Таким образом, вы можете использовать объектную модель Word, чтобы выполнить эту работу. Свойство WordEditor класса Inspector возвращает экземпляр класса Document из объектной модели Word, который представляет тело сообщения. См. Chapter 17: Working with Item Bodies для получения дополнительной информации.

ExportAsFixedFormat Метод класса Document сохраняет документ в формате PDF или XPS.

+0

Я благодарен за ваш полезный ответ. Я вижу свет в конце туннеля. Огромное спасибо. – Ebassador

+0

У меня есть вопрос, хотя, когда пользователю предоставляется электронное письмо, которое они могут изменить, откуда я могу узнать, отправили ли они его или отменили? После возвращения из Outlook Mail.Display (Model), где хранится эта информация? – Ebassador

+0

Вам необходимо обрабатывать события событий, такие как [Отправить] (https://msdn.microsoft.com/en-us/library/office/ff867634 (v = office.15) .aspx), [Закрыть] (https://msdn.microsoft.com/en-us/library/office/ff868010(v=office.15).aspx) и т. д. –