Why to Convert
As a C++ developer, you may need to add email conversion features inside your applications. One of the most common conversions is from EMLX file format to HTML. This is a useful conversion as HTML is a widely used format for webpages and can be easily viewed in any web browser.
How Aspose.Total Helps for EMLX to XPS Conversion
Aspose.Total for C++ is a suite of APIs that provides developers with the tools they need to create powerful applications. It includes two APIs that are useful for EMLX to XPS conversion: Aspose.Email for C++ and Aspose.Words for C++.
Aspose.Email for C++ is an API that allows developers to convert EMLX files to HTML. It provides a simple and straightforward way to convert EMLX files to HTML, allowing developers to quickly and easily add email conversion features to their applications.
Aspose.Words for C++ is an API that allows developers to export HTML to XPS. It provides a comprehensive set of features for exporting HTML to XPS, including support for text formatting, images, tables, and more. With Aspose.Words for C++, developers can easily and quickly export HTML to XPS.
By combining Aspose.Email for C++ and Aspose.Words for C++, developers can quickly and easily convert EMLX files to XPS. Aspose.Total for C++ provides developers with the tools they need to create powerful applications that include email conversion features.
C++ API to Convert EMLX to XPS
- Open EMLX file using MailMessage class reference
- Convert EMLX to HTML by using Save member function
- Load HTML by using Document class
- Save the document to XPS format using Save method and set Xps as SaveFormat
Get Started with C++ File Format APIs
Install from command line as nuget install Aspose.Total.Cpp
or via Package Manager Console of Visual Studio with Install-Package Aspose.Total.Cpp
.
Alternatively, get the offline MSI installer or DLLs in a ZIP file from downloads .
// load the EMLX file to be converted
System::SharedPtr<MailMessage> msg = MailMessage::Load(u"sourceFile.emlx");
// save EMLX 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 Xps as save format
doc->Save(u"convertedFile.Xps");
Parse EMLX File via C++
Not only you can convert your EMLX to XPS, but you can read, manipulate, and parse EMLX document. You can get subject, address, body, recipients information of the email by using MapiMessage class of Aspose.Email for C++ API. For example, you can check for a specific sender email for the conversion by using get_SenderEmailAddress() property.
// create an instance of MapiMessage from file
System::SharedPtr<MapiMessage> msg = MapiMessage::FromFile(dataDir + L"message.emlx");
// get subject
System::Console::WriteLine(System::String(L"Subject:") + msg->get_Subject());
// get from address
System::Console::WriteLine(System::String(L"From:") + msg->get_SenderEmailAddress());
// 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());
C++ API to Restrict XPS File Format Editing
You can also add document protection features in your app while exporting the document from EMLX to XPS. Adding protection to your document is a simple process, as all you need to do is apply the protection method to your document. You can set protection type to ReadOnly to restrict the user to edit the document.
// 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.Xps");