As bibliotecas de automação de formato de arquivo Aspose.Total for C++ permitem que o desenvolvedor C++ converta PS para DOCM em duas etapas simples. Em primeiro lugar, você pode usar a API Aspose.PDF for C++ para converter o formato de arquivo PS para DOC. Em segundo lugar, usando a API avançada de processamento de documentos do Word Aspose.Words for C++ , você pode exportar DOC para DOCM.
API C++ para renderizar PS para DOCM
Requisitos de conversão
Instale a partir da linha de comando como nuget install Aspose.Total.Cpp
ou via Package Manager Console do Visual Studio com Install-Package Aspose.Total.Cpp
.
Como alternativa, obtenha o instalador MSI offline ou as DLLs em um arquivo ZIP em downloads .
// load PS file with an instance of Document class reference
auto doc = MakeObject<Document>(u"sourceFile.ps");
// save PS 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");
Alterar senha do documento PS via C++
No processo de renderização de PS para DOCM, você pode abrir um PS protegido por senha e também alterar sua senha. Para alterar a senha de um arquivo PS, você deve saber a senha do proprietário desse documento. Você pode carregar um documento PDF protegido por senha com Aspose.PDF for C++ especificando sua senha de proprietário e usando o método ChangePasswords para alterar a senha.
// load an existing PS Document
auto doc = MakeObject<Document>(L"input.ps", L"owner");
// change password of PS Document
doc->ChangePasswords(L"owner", L"newuser", L"newuser");
// save the document
doc->Save(L"output.Doc");
Restringir a edição de arquivos DOCM via C++
Você também pode restringir a edição de arquivos DOCM usando a API Aspose.Words for C++ . Às vezes, pode ser necessário limitar a capacidade de editar um documento e permitir apenas determinadas ações com ele. A API permite que você controle a maneira como restringe o conteúdo usando o parâmetro de enumeração ProtectionType . O exemplo de código a seguir demonstra como restringir a edição em um documento para que seja possível editar apenas em campos de formulário.
// 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");