将完整的电子邮件 body 和 header 保存为 PDF
Save complete email, body and header, as PDF
我想将完整的邮件保存为 PDF。
我在 Whosebug 1 中找到了以下代码。它保存邮件项目 body 而不是 header(例如发件人、收件人、主题)。
我试图操纵 Word.Document 以手动添加 header 信息(在下面的代码中我只是为了测试目的使用了最小的更改)但它似乎是只读的。我还想过使用 Outlook 打印功能“打印为 PDF”,但发现无法从我的 Outlook VSTO 解决方案中触发它。
using Word = Microsoft.Office.Interop.Word;
private void SaveMailAsPDF(Outlook.MailItem _mailitem)
{
//source:
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);
}
尝试使用MailItem.SaveAs
以MHTML格式保存(它保留嵌入的图片并包括headers),然后使用Word object模型打开MHTML文件并保存作为 PDF 文件。
Outlook object 模型不提供任何打印为 pdf 的方法。 MailItem.PrintOut 方法使用所有默认值打印 Outlook 项目 settings.The PrintOut
方法是唯一可用于打印的 Outlook 方法。
您可以使用 Word object 模型以您需要的格式保存消息 body。例如,您可以使用打开的 XML 文档 (*.docx) 保存表示消息 body 的文档,然后使用打开 XML 添加消息的 SDK 打开它进行编辑 headers(如果需要)。有关详细信息,请参阅 Welcome to the Open XML SDK 2.5 for Office。
您可以自由使用 third-party 组件来使用 PDF 文件格式保存具有所需自定义的文档。
我想将完整的邮件保存为 PDF。
我在 Whosebug 1 中找到了以下代码。它保存邮件项目 body 而不是 header(例如发件人、收件人、主题)。
我试图操纵 Word.Document 以手动添加 header 信息(在下面的代码中我只是为了测试目的使用了最小的更改)但它似乎是只读的。我还想过使用 Outlook 打印功能“打印为 PDF”,但发现无法从我的 Outlook VSTO 解决方案中触发它。
using Word = Microsoft.Office.Interop.Word;
private void SaveMailAsPDF(Outlook.MailItem _mailitem)
{
//source:
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);
}
尝试使用MailItem.SaveAs
以MHTML格式保存(它保留嵌入的图片并包括headers),然后使用Word object模型打开MHTML文件并保存作为 PDF 文件。
Outlook object 模型不提供任何打印为 pdf 的方法。 MailItem.PrintOut 方法使用所有默认值打印 Outlook 项目 settings.The PrintOut
方法是唯一可用于打印的 Outlook 方法。
您可以使用 Word object 模型以您需要的格式保存消息 body。例如,您可以使用打开的 XML 文档 (*.docx) 保存表示消息 body 的文档,然后使用打开 XML 添加消息的 SDK 打开它进行编辑 headers(如果需要)。有关详细信息,请参阅 Welcome to the Open XML SDK 2.5 for Office。
您可以自由使用 third-party 组件来使用 PDF 文件格式保存具有所需自定义的文档。