将 EML 导出为 DOCM 的 C++ API

在 C++ 应用程序中将 EML 转换为 DOCM,无需 Microsoft Word 或 Outlook

 

您是一名 C++ 开发人员,希望在您的应用程序中添加电子邮件转换功能吗?使用 Aspose.Eml for C++ ,您可以将 EML 文件格式转换为 HTML。之后,通过使用 Aspose.Words for C++ API,您可以将 HTML 导出为 DOCM。这两个 API 都属于 Aspose.Total for C++ 包。

将 EML 转换为 DOCM 的 C++ API

  1. 使用 MailMessage 类参考打开 EML 文件
  2. 使用 Save 成员函数将 EML 转换为 HTML
  3. 使用 Document 类加载 HTML
  4. 使用 Save 方法将文档保存为 DOCM 格式,并将 Docm 设置为 SaveFormat

转换要求

从命令行安装为 nuget install Aspose.Total.Cpp 或通过 Visual Studio 的包管理器控制台使用 ```Install-Package Aspose.Total.Cpp``。

或者,从 下载 获取 ZIP 文件中的离线 MSI 安装程序或 DLL。

// load the EML file to be converted
System::SharedPtr<MailMessage> msg = MailMessage::Load(u"sourceFile.eml");
// save EML as a HTML 
msg->Save(u"HtmlOutput.html", SaveOptions::get_DefaultHtml());  
// load HTML with an instance of Document
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"HtmlOutput.html");
// call save method while passing Docm as save format
doc->Save(u"convertedFile.Docm");

通过 C++ 解析 EML 文件

您不仅可以将 EML 转换为 DOCM,还可以阅读、操作和解析 EML 文档。您可以使用 Aspose.Eml for C++ API 的 MapiMessage 类获取电子邮件的主题、地址、正文、收件人信息。例如,您可以使用 get_SenderEmlAddress() 属性检查转换的特定发件人电子邮件。

// create an instance of MapiMessage from file
System::SharedPtr<MapiMessage> msg = MapiMessage::FromFile(dataDir + L"message.eml");
// get subject
System::Console::WriteLine(System::String(L"Subject:") + msg->get_Subject());
// get from address
System::Console::WriteLine(System::String(L"From:") + msg->get_SenderEmlAddress());
// get body
System::Console::WriteLine(System::String(L"Body") + msg->get_Body());
// get recipients information
System::Console::WriteLine(System::String(L"Recipient: ") + msg->get_Recipients());

限制 DOCM 文件格式编辑的 C++ API

在将文档从 EML 导出到 DOCM 时,您还可以在应用程序中添加文档保护功能。为您的文档添加保护是一个简单的过程,因为您需要做的就是将保护方法应用于您的文档。您可以将保护类型设置为只读以限制用户编辑文档。

// create a new document and protect it with a password.
auto doc = System::MakeObject<Document>();
// apply Document Protection.
doc->Protect(ProtectionType::ReadOnly, u"password");
// save the document.
doc->Save(u"DocumentProtection.PasswordProtection.Docm");

使用C++探索EML转换选项

将EML转换为BMP (位图图像文件)
将EML转换为DOC (Microsoft Word 二进制格式)
将EML转换为DOCX (Office 2007+ Word文档)
将EML转换为DOT (Microsoft Word 模板文件)
将EML转换为DOTM (Microsoft Word 2007+ 模板文件)
将EML转换为DOTX (微软 Word 模板文件)
将EML转换为EMF (增强型图元文件格式)
将EML转换为EPUB (打开电子书文件)
将EML转换为FLATOPC (Microsoft Word 2003 文字处理ML)
将EML转换为GIF (图形交换格式)
将EML转换为PNG (便携式网络图形)
将EML转换为JPEG (联合摄影专家组)
将EML转换为MD (降价语言)
将EML转换为ODT (OpenDocument 文本文件格式)
将EML转换为OTT (打开文档模板)
将EML转换为PCL (打印机命令语言)
将EML转换为PDF (便携式文档格式)
将EML转换为PNG (便携式网络图形)
将EML转换为PS (后记文件)
将EML转换为RTF (富文本格式)
将EML转换为SVG (标量矢量图形)
将EML转换为TIFF (标记图像文件格式)
将EML转换为DOCX (Office 2007+ Word文档)
将EML转换为WORDML (Microsoft Word 2003 文字处理ML)
将EML转换为XPS (XML 纸张规范)

什么是EML文件格式

EML 文件格式代表电子邮件,是一种广泛用于存储电子邮件的文件格式。它主要与电子邮件客户端相关联,例如 Microsoft Outlook、Mozilla Thunderbird 和 Windows Mail。 EML 文件包含电子邮件的全部内容,包括发件人和收件人信息、主题、日期、附件和邮件正文。

EML 文件采用纯文本格式并遵循多用途互联网邮件扩展(MIME) 标准,它允许在电子邮件中包含各种类型的内容,例如文本、图像和附件。这使得 EML 文件具有高度通用性,并与不同的电子邮件客户端和平台兼容。

EML 格式通常用于归档或传输个人电子邮件。它提供了一种将电子邮件存储为单独文件的便捷方式,从而可以在需要时更轻松地组织和检索特定邮件。 EML 文件可以在兼容的电子邮件客户端中打开和查看,允许用户阅读电子邮件的内容并与之交互。

此外,EML 文件可以通过电子邮件或其他文件传输方式轻松共享。它们保留原始格式,确保收件人看到的电子邮件与发送时完全相同,包括任何附件或嵌入的图像。

除了用于个人电子邮件之外,EML 文件还用于电子邮件迁移和备份过程。它们允许在不同的电子邮件客户端之间传输电子邮件或创建备份以保护重要的通信。

什么是DOCM文件格式

DOCM 文件格式是 Microsoft Word 用来指示包含宏的文档的扩展名。 Microsoft Word 是一种广泛使用的文字处理程序,允许用户创建和编辑各种类型的文档。 Word 中的宏是可自动执行重复性任务、增强功能或向文档添加自定义功能的小程序或脚本。

DOCM 文件中包含的宏使用户能够在其 Word 文档中自动执行任务,例如执行复杂的任务计算、生成动态内容或应用特定格式。宏通常使用 Visual Basic for Applications (VBA) 编写,这是一种集成到 Microsoft Office 应用程序中的编程语言。

通过使用宏,用户可以简化工作流程、节省时间并提高工作效率。他们可以创建个性化模板、自动设置文档格式或开发适合其特定需求的自定义解决方案。用户可以访问和执行 DOCM 文件中的宏,从而在文档中提供交互式和动态体验。

请务必注意,DOCM 文件可能包含恶意宏,因为宏可用于执行有害操作或传播恶意软件。作为一项安全措施,Microsoft Word 应用各种安全设置来限制 DOCM 文件中宏的执行。当打开来自未知或不受信任来源的 DOCM 文件时,通常会提示用户启用或禁用宏。

DOCM 格式与 Microsoft Word 完全兼容,可以使用该应用程序打开、编辑和保存。但是,与其他文字处理软件或旧版 Microsoft Word 的兼容性可能会有所不同。为确保跨不同平台的兼容性,建议将 DOCM 文件保存为其他格式,例如不支持宏的 DOCX。