【问题标题】:Saving Outlook Mailitem with embedded image as part of the mail将带有嵌入图像的 Outlook Mailitem 保存为邮件的一部分
【发布时间】:2021-11-17 16:44:10
【问题描述】:

由于某种原因,保存具有嵌入图像的 Outlook MailItem 会导致 PDF 文件丢失嵌入图像,而不是将该图像与邮件项一起保存。它将图像视为附件,而不是实际邮件本身的一部分。不过奇怪的是,这仅在保存为 PDF 时发生,如果我尝试将 MailItem 保存为 .RTF,图像不会丢失。

这是我保存邮件的方式:

Microsoft.Office.Interop.Word.Document doc = mailItem.GetInspector.WordEditor;
doc.SaveAs(PDFpath, Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatPDF);

我有一个 if 语句,可确保嵌入的图像不会保存为附件:

if (!mailItem.HTMLBody.Contains(aFileName))
{
  a.SaveAsFile(attachmentPath);
  contentEditor.AddDocumentAttachment(attachmentPath, aFileName);
  contentEditor.Save(PDFpath);
}

这里的内容编辑器是将附件绑定到保存的PDF文件。

【问题讨论】:

    标签: c# pdf outlook word


    【解决方案1】:

    SaveAsOlSaveAsType 格式作为第二个参数,而不是WdSaveFormat

    OlSaveAsType:https://docs.microsoft.com/en-us/dotnet/api/microsoft.office.interop.outlook.olsaveastype?view=outlook-pia不支持PDF格式

    您可以尝试保存为 MHTML 格式 (OlSaveAsType.olMHTML),使用 Word 对象模型在 Word 中打开文件,然后将其保存为 PDF。

    【讨论】:

    • 好吧,我没有使用 Outlook SaveAs,我使用的是 Word Interop SaveAs,它采用 WdSaveFormat 参数。它适用于转换只有文本的文档,但如果存在图像,则不会显示。真的是因为我只能使用 Outlook SaveAs 而不能使用 Word 互操作吗?
    猜你喜欢
    • 2016-10-30
    • 2011-05-10
    • 2020-06-08
    • 1970-01-01
    • 2018-01-31
    • 2010-12-24
    • 1970-01-01
    • 1970-01-01
    • 2012-12-08
    相关资源
    最近更新 更多