Вы разработчик C++ и хотите добавить функции преобразования электронной почты в свои приложения? Используя Aspose.Eml для C++ , вы можете преобразовать формат файла EML в HTML. После этого, используя API Aspose.Words for C++ , вы можете экспортировать HTML в XPS. Оба API входят в пакет Aspose.Total for C++ .
C++ API для преобразования EML в XPS
- Откройте файл EML, используя ссылку на класс MailMessage .
- Преобразуйте EML в HTML с помощью функции-члена Сохранить .
- Загрузите HTML с помощью класса Document .
- Сохраните документ в формате XPS с помощью метода Save и установите Xps в качестве SaveFormat.
Требования к конвертации
Установите из командной строки как nuget install Aspose.Total.Cpp
или через консоль диспетчера пакетов Visual Studio с помощью Install-Package Aspose.Total.Cpp
.
Кроме того, вы можете получить автономный установщик MSI или библиотеки DLL в ZIP-файле из загрузки .
// 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 Xps as save format
doc->Save(u"convertedFile.Xps");
Разобрать файл EML через C++
Вы можете не только конвертировать EML в XPS, но и читать, манипулировать и анализировать документ EML. Вы можете получить информацию о теме, адресе, теле и получателях электронной почты, используя класс MapiMessage API Aspose.Eml для C++ . Например, вы можете проверить адрес электронной почты отправителя для конверсии, используя свойство 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());
C++ API для ограничения редактирования формата файла XPS
Вы также можете добавить функции защиты документов в свое приложение при экспорте документа из EML в XPS. Добавление защиты к вашему документу — это простой процесс, так как все, что вам нужно сделать, это применить метод защиты к вашему документу. Вы можете установить тип защиты ReadOnly, чтобы запретить пользователю редактировать документ.
// 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");
Исследуйте варианты преобразования EML с C++
Формат файла EML
Формат файла EML, расшифровывающийся как «Электронная почта», является широко используемым форматом файла для хранения сообщений электронной почты. В первую очередь это связано с почтовыми клиентами, такими как Microsoft Outlook, Mozilla Thunderbird и Windows Mail. Файлы EML содержат все содержимое сообщения электронной почты, включая информацию об отправителе и получателе, тему, дату, вложения и тело сообщения.
Файлы EML имеют формат обычного текста и соответствуют многоцелевым расширениям почты Интернета. (MIME), который позволяет включать в сообщения электронной почты различные типы контента, такие как текст, изображения и вложения. Это делает файлы EML очень универсальными и совместимыми с различными почтовыми клиентами и платформами.
Формат EML обычно используется для архивирования или передачи отдельных сообщений электронной почты. Он обеспечивает удобный способ хранения электронных писем в виде отдельных файлов, что упрощает организацию и извлечение определенных сообщений при необходимости. Файлы EML можно открывать и просматривать в совместимых почтовых клиентах, что позволяет пользователям читать и взаимодействовать с содержимым сообщения электронной почты.
Кроме того, файлами EML можно легко обмениваться по электронной почте или другими способами передачи файлов. Они сохраняют исходное форматирование, гарантируя, что получатель увидит сообщение электронной почты точно в том виде, в котором оно было отправлено, включая все вложения или встроенные изображения.
Файлы EML используются не только для отдельных сообщений электронной почты, но и при переносе электронной почты. и процессы резервного копирования. Они позволяют передавать сообщения электронной почты между различными почтовыми клиентами или создавать резервные копии для защиты важных сообщений.
Формат файла XPS
XPS, сокращение от XML Paper Specification, представляет собой формат файла, созданный Microsoft для представления документов с фиксированным макетом. Файлы XPS содержат содержимое и параметры печати документа, что делает их пригодными для сохранения макета и внешнего вида документа на разных устройствах и платформах.
Формат XPS основан на XML (расширяемый язык разметки), широко используемый язык разметки для представления структурированных данных. Файлы XPS инкапсулируют содержимое документа, например текст, изображения, векторную графику и аннотации, в структурированном формате XML. Это упрощает интерпретацию и визуализацию визуальных элементов документа.
Файлы XPS концептуально аналогичны файлам PDF (Portable Document Format) в том смысле, что оба они обеспечивают надежный способ представления и обмена документами с сохранением их форматирования. и макет. Однако файлы PDF получили более широкую поддержку в различных программных приложениях и аппаратных устройствах, что сделало их более популярными и совместимыми.
Для просмотра файлов XPS и работы с ними Microsoft предоставляет средство просмотра XPS как часть операционной системы Windows. . Различные сторонние приложения и инструменты также поддерживают открытие, создание и преобразование файлов XPS. Однако по сравнению с PDF диапазон программного и аппаратного обеспечения, поддерживающего формат XPS, может быть более ограниченным.