将 EML 导出为 DOCX 的 C++ API

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

 

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

将 EML 转换为 DOCX 的 C++ API

  1. 使用 MailMessage 类参考打开 EML 文件
  2. 使用 Save 成员函数将 EML 转换为 HTML
  3. 使用 Document 类加载 HTML
  4. 使用 Save 方法将文档保存为 DOCX 格式,并将 Docx 设置为 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 Docx as save format
doc->Save(u"convertedFile.Docx");

通过 C++ 解析 EML 文件

您不仅可以将 EML 转换为 DOCX,还可以阅读、操作和解析 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());

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

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

// 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.Docx");

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

将EML转换为BMP (位图图像文件)
将EML转换为DOC (Microsoft Word 二进制格式)
将EML转换为DOCM (Microsoft Word 2007 宏文件)
将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 文件还用于电子邮件迁移和备份过程。它们允许在不同的电子邮件客户端之间传输电子邮件或创建备份以保护重要的通信。

什么是DOCX文件格式

DOCX 是 Microsoft 专门为其文字处理软件 Microsoft Word 开发的一种文件格式。其目的是提供一种通用且可靠的格式,用于跨各种平台和设备创建和共享文档。 DOCX 文件在商业、学术界和个人通信中得到广泛采用,具有众多优势。

DOCX 格式的一个关键优势是它与其他 Microsoft Office 应用程序(如 Excel 和 PowerPoint)无缝集成。这种集成使用户能够毫不费力地将表格、图表和多媒体内容合并到他们的文档中,从而增强他们的视觉吸引力和整体效率。此外,DOCX 文件可以方便地转换为其他广泛使用的格式,例如 PDF、HTML 和 RTF,确保跨不同系统的兼容性和可移植性。

DOCX 格式的灵活性扩展到它对高级格式设置选项的支持.用户可以使用样式、主题和模板来创建具有一致品牌和格式的具有专业外观的文档。这消除了对复杂技术技能的需求,使用户能够毫不费力地制作精美且具有视觉吸引力的内容。

DOCX 的另一个显着优势是它与各种软件和设备的广泛兼容性,包括流行的操作系统,例如Windows、macOS 和 Linux。这种兼容性确保可以跨不同环境无缝访问、编辑和共享文档,从而促进高效协作和沟通。