Uygulamalarınıza e-posta dönüştürme özellikleri eklemek isteyen bir C++ geliştiricisi misiniz? Aspose.Eml for C++ kullanarak EML dosya biçimini HTML’ye dönüştürebilirsiniz. Bundan sonra, Aspose.Words for C++ API’sini kullanarak HTML’yi DOCX’ye aktarabilirsiniz. Her iki API de Aspose.Total for C++ paketi kapsamında gelir.
EML'i DOCX'ye Dönüştürmek için C++ API
- MailMessage sınıf referansını kullanarak EML dosyasını açın
- Kaydet üye işlevini kullanarak EML’i HTML’ye dönüştürün
- HTML’yi Document sınıfını kullanarak yükleyin
- Kaydet yöntemini kullanarak belgeyi DOCX formatına kaydedin ve Docx’yi SaveFormat olarak ayarlayın
Dönüşüm Gereksinimleri
Komut satırından nuget install Aspose.Total.Cpp``` veya Visual Studio Paket Yönetici Konsolu üzerinden ```Install-Package Aspose.Total.Cpp
ile kurun.
Alternatif olarak, çevrimdışı MSI yükleyicisini veya DLL’leri downloads adresinden bir ZIP dosyasında alın.
// 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");
E-POSTA Dosyasını C++ ile Ayrıştırma
Yalnızca EML’inizi DOCX’ye dönüştürmekle kalmaz, aynı zamanda EML belgesini okuyabilir, değiştirebilir ve ayrıştırabilirsiniz. Aspose.Eml for C++ API’sinin MapiMessage sınıfını kullanarak e-postanın konu, adres, gövde, alıcı bilgilerini alabilirsiniz. Örneğin, get_SenderEmlAddress() özelliğini kullanarak dönüşüm için belirli bir gönderen e-postasını kontrol edebilirsiniz.
// 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 Dosya Biçimi Düzenlemesini Kısıtlamak için C++ API
Belgeyi EML’den DOCX’ye aktarırken uygulamanıza belge koruma özellikleri de ekleyebilirsiniz. Belgenize koruma eklemek basit bir işlemdir, çünkü tek yapmanız gereken koruma yöntemini belgenize uygulamaktır. Kullanıcının belgeyi düzenlemesini kısıtlamak için koruma türünü Salt Okunur olarak ayarlayabilirsiniz.
// 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");