outlook - 将完整的电子邮件、正文和标题另存为 PDF
问题描述
我想将完整的邮件保存为 PDF。
我在 stackoverflow 1中找到了下面的代码。它保存邮件项正文而不是标题(例如发件人、收件人、主题)。
我试图操纵 Word.Document 以手动添加标题信息(在下面的代码中,我只使用最小的更改来进行测试),但它似乎是只读的。我还想过使用 Outlook 打印功能“打印为 PDF”,但没有办法从我的 Outlook VSTO 解决方案中触发它。
using Word = Microsoft.Office.Interop.Word;
private void SaveMailAsPDF(Outlook.MailItem _mailitem)
{
//source: https://stackoverflow.com/questions/26421252/save-outlook-mailitem-body-as-pdf
Outlook.MailItem mi = _mailitem;
mi.BodyFormat = Outlook.OlBodyFormat.olFormatHTML;
string datetimeReceived = mi.ReceivedTime.ToString("yyyyMMdd-Hmmss");
string fullPath = @"C:\Users\al\Documents\OutlookMailsTest\" + datetimeReceived + "Test.pdf";
Word.Document doc = mi.GetInspector.WordEditor;
//doc.Paragraphs.Add();
//doc.Paragraphs.Add();
//Word.Range rng = doc.Range(0, 0);
//rng.Text = "New Text";
doc.SaveAs2(fullPath, FileFormat: Word.WdSaveFormat.wdFormatPDF);
}
解决方案
尝试使用 MHTML 格式保存(它保留嵌入的图片并包含标题)MailItem.SaveAs
,然后使用 Word 对象模型打开 MHTML 文件并将其保存为 PDF 文件。
推荐阅读
- reactjs - React hooks 单选按钮列表给出警告:列表中的每个孩子都应该有一个唯一的“key”道具
- python - 神经网络直线 - GEKKO
- powerbi-desktop - PowerBi - 在一张卡片中显示两个度量
- python - 如何在列表中均匀添加新索引?
- python-3.x - 导入错误无法在空闲时导入请求,但可以在 Jupyter/spider 上
- kubernetes - 删除 argo cron 工作流是否也会删除由它启动的所有 argo 工作流
- mysql - 为什么某些 docker exec 命令并不总是在批处理文件中工作?
- python - 通过消除重复编写 Pandas groupby 代码的有效方法
- python - Spyder 探查器时间不加起来(totalTime =/= localTime + 子函数 totalTime)
- python - Google Colab:运行 fig.write_image() 的问题