2017-06-27 56 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文档。