Библиотеки автоматизации форматов файлов Aspose.Total for C++ позволяют разработчикам C++ преобразовывать MHTML в DOCM в два простых шага. Во-первых, вы можете использовать API Aspose.PDF for C++ для преобразования формата файла MHTML в DOC. Во-вторых, используя расширенный API обработки документов Word Aspose.Words for C++ , вы можете экспортировать DOC в DOCM.
C++ API для рендеринга MHTML в DOCM
Требования к конвертации
Установите из командной строки как nuget install Aspose.Total.Cpp
или через консоль диспетчера пакетов Visual Studio с помощью Install-Package Aspose.Total.Cpp
.
Кроме того, вы можете получить автономный установщик MSI или библиотеки DLL в ZIP-файле из загрузки .
// load MHTML file with an instance of Document class reference
auto doc = MakeObject<Document>(u"sourceFile.mhtml");
// save MHTML as a DOC
doc->Save(u"DocOutput.doc", SaveFormat::Doc);
// load DOC with an instance of Document
System::SharedPtr<Document> wordDoc = System::MakeObject<Document>(u"DocOutput.doc");
// save document as Docm
wordDoc->Save(u"output.Docm");
Изменить пароль документа MHTML через C++
В процессе преобразования MHTML в DOCM вы можете открыть защищенный паролем MHTML, а также изменить его пароль. Чтобы изменить пароль файла MHTML, вы должны знать пароль владельца этого документа. Вы можете загрузить PDF-документ, защищенный паролем, с помощью Aspose.PDF for C++ , указав его пароль владельца и используя метод ChangePasswords для смены пароля.
// load an existing MHTML Document
auto doc = MakeObject<Document>(L"input.mhtml", L"owner");
// change password of MHTML Document
doc->ChangePasswords(L"owner", L"newuser", L"newuser");
// save the document
doc->Save(L"output.Doc");
Ограничить редактирование файлов DOCM через C++
Вы также можете ограничить редактирование файлов DOCM с помощью API Aspose.Words for C++ . Иногда вам может понадобиться ограничить возможность редактирования документа и разрешить только определенные действия с ним. API позволяет вам контролировать способ ограничения контента с помощью параметра перечисления ProtectionType . В следующем примере кода показано, как ограничить редактирование в документе, чтобы было возможно только редактирование в полях формы.
// load Doc with an instance of Document
auto doc = System::MakeObject<Document>("input.doc");
// document protection only works when document protection is turned and only editing in form fields is allowed.
doc->Protect(ProtectionType::AllowOnlyFormFields, u"password");
// save the protected document.
doc->Save(u"Protected.Docm");