2015-04-27 154 views
0

這裏有很多圖書館,聲稱將HTML轉換爲PDF。我看過的所有內容都有其侷限性。我們不想在這上面花錢,所以想知道是否可以打印成PDF格式的文件,而沒有Outlook通常生成的所有彈出窗口。我們使用Outlook 2013與Exchange。Interop.Outlook打印到文件(PDF)?

This thread表明答案是否定的。但this thread表明它可能會完成。我正在尋找一條清晰的道路來實現我的目標。

使事情變得複雜,我使用Mail.Display函數來允許用戶在發送前修改電子郵件。如果他們也想添加附件,他們可以添加附件。一旦他們選擇發送選項,我想要捕獲已發送的電子郵件並生成一個PDF,這些PDF將存儲在數據存儲中,供訪問該客戶帳戶的任何人輕鬆檢索。這是我遇到困難的地方。從顯示功能返回後,Mail對象不可用。我如何獲得發送的電子郵件並處理它?

+0

[如何使用Interop.Outlook更改打印選項]的可能重複(http://stackoverflow.com/questions/19456997/how-to-use-interop-outlook-to-change-print-options) –

回答

1

是的,這是可能的。

Outlook使用Word作爲電子郵件編輯器。所以,你可以使用Word對象模型來完成工作。 Inspector類的WordEditor屬性返回表示消息正文的Word對象模型中的Document類實例。有關更多信息,請參閱Chapter 17: Working with Item Bodies

Document類的ExportAsFixedFormat方法將文檔保存爲PDF或XPS格式。

+0

我很感謝你的有益答案。我看到隧道盡頭的光。非常感謝。 – Ebassador

+0

但是我確實有一個問題,當用戶看到他們可以修改的電子郵件時,我怎麼知道他們是發送還是取消了?從Outlook的Mail.Display(模型)返回後,此信息保存在哪裏? – 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)等 –