2017-06-27 58 views
0

我試圖將我的電子郵件保存爲pdf到特定文件夾,當我點擊從Outlook發送按鈕。我的代碼如下所示。我可以看到文件已成功保存,但無法打開。我的代碼中有任何錯誤?辦公室版本是2016年Outlook.MailItem另存爲PDF無法打開

private void Application_ItemSend(object Item, ref bool Cancel) 
{ 
     mailItem.BodyFormat = OlBodyFormat.olFormatPlain; 
     string title = mailItem.Subject; 
     mailItem.SaveAs("c://" + title + ".pdf", OlBodyFormat.olFormatRichText); 
} 

由於

+1

PDF!=富文本 - 給文件一個'.doc'的擴展名,它會打開。我希望你會需要一個PDF轉換器。 – stuartd

回答

0

所述的MailItem類的SaveAs方法接受兩個參數,第二個是 文件類型來保存可以是下列OlSaveAsType常量之一:olHTML,olMSG ,olRTF,olTemplate,olDoc,olTXT,olVCal,olVCard,olical或olMSGUnicode。正如你所看到的,沒有選擇使用.pdf文件格式保存消息。

但是,您可能會考慮使用Word對象模型來完成工作。

 TheDocument.ExportAsFixedFormat(
     docName.Replace(".docx", ".pdf"), 
     Word.WdExportFormat.wdExportFormatPDF, 
     OptimizeFor: Word.WdExportOptimizeFor.wdExportOptimizeForOnScreen, 
     BitmapMissingFonts: true, DocStructureTags: false); 

文檔類的ExportAsFixedFormat方法允許將文檔保存爲PDF或XPS格式。有關Inspector類的WordEditor屬性的更多信息,請參閱Chapter 17: Working with Item Bodies

作爲最後的手段,您可以考慮使用任何第三方.Net組件來從文本或HTML/RTF標記創建PDF文檔。