Библиотеки автоматизации форматов файлов Aspose.Total for C++ позволяют разработчикам C++ преобразовывать CGM в ODT в два простых шага. Во-первых, вы можете использовать API Aspose.PDF for C++ для преобразования формата файла CGM в DOC. Во-вторых, используя расширенный API обработки документов Word Aspose.Words for C++ , вы можете экспортировать DOC в ODT.
C++ API для рендеринга CGM в ODT
Требования к конвертации
Установите из командной строки как nuget install Aspose.Total.Cpp
или через консоль диспетчера пакетов Visual Studio с помощью Install-Package Aspose.Total.Cpp
.
Кроме того, вы можете получить автономный установщик MSI или библиотеки DLL в ZIP-файле из загрузки .
// load CGM file with an instance of Document class reference
auto doc = MakeObject<Document>(u"sourceFile.cgm");
// save CGM 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 Odt
wordDoc->Save(u"output.Odt");
Изменить пароль документа CGM через C++
В процессе преобразования CGM в ODT вы можете открыть защищенный паролем CGM, а также изменить его пароль. Чтобы изменить пароль файла CGM, вы должны знать пароль владельца этого документа. Вы можете загрузить PDF-документ, защищенный паролем, с помощью Aspose.PDF for C++ , указав его пароль владельца и используя метод ChangePasswords для смены пароля.
// load an existing CGM Document
auto doc = MakeObject<Document>(L"input.cgm", L"owner");
// change password of CGM Document
doc->ChangePasswords(L"owner", L"newuser", L"newuser");
// save the document
doc->Save(L"output.Doc");
Ограничить редактирование файлов ODT через C++
Вы также можете ограничить редактирование файлов ODT с помощью 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.Odt");