Aspose.Total for C++ file format automation libraries allows C++ developer to convert XPS to ODT in two simple steps. Firstly, you can use Aspose.PDF for C++ API to convert XPS file format to DOC. Secondly, by using advanced Word Document Processing API Aspose.Words for C++ , you can export DOC to ODT.
C++ API to Render XPS to ODT
Get Started with C++ File Automation APIs
Install from command line as nuget install Aspose.Total.Cpp
or via Package Manager Console of Visual Studio with Install-Package Aspose.Total.Cpp
.
Alternatively, get the offline MSI installer or DLLs in a ZIP file from downloads .
// load XPS file with an instance of Document class reference
auto doc = MakeObject<Document>(u"sourceFile.xps");
// save XPS 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");
Change Password of XPS Document via C++
In the process of rendering XPS to ODT, you can open a password protected XPS and also change its password. In order to change the password of a XPS file, you must know the owner password of that document. You can load password protected PDF document with Aspose.PDF for C++ by specifying its owner password and use ChangePasswords method to change the password.
// load an existing XPS Document
auto doc = MakeObject<Document>(L"input.xps", L"owner");
// change password of XPS Document
doc->ChangePasswords(L"owner", L"newuser", L"newuser");
// save the document
doc->Save(L"output.Doc");
Restrict ODT File Editing via C++
You can also restrict ODT file editing using using Aspose.Words for C++ API. Sometimes you may need to limit the ability to edit a document and only allow certain actions with it. API enables you to control the way you restrict the content using the ProtectionType enumeration parameter. The following code example demonstrates how to restrict editing in a document so only editing in form fields is possible.
// 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");
Explore XPS Conversion Options with C++
What is XPS File Format
XPS is a file format that represents a fixed-layout document, which includes document content and print settings. XPS files are based on the XML Paper Specification, which was developed by Microsoft. XPS files are similar to PDF files, but they are not as widely supported by software and hardware.
Read MoreWhat is ODT File Format
OpenDocument Text File Format (ODT) is a file format for storing and exchanging text documents. It is an open standard developed by the OpenDocument Foundation. ODT is based on the XML format and uses the ZIP compression algorithm.ODT files are compatible with a variety of word processing applications, including Microsoft Word, LibreOffice, and Apache OpenOffice. ODT files can be opened and edited without any special software.ODT files are typically saved with a .odt file extension.
Read More