Why to Convert XPS to ODT
XPS (XML Paper Specification) is a document format developed by Microsoft. It is used to store documents in a fixed layout format. It is similar to PDF format but is not as widely used. ODT (OpenDocument Text) is an open standard for document exchange. It is used by many open source applications such as OpenOffice, LibreOffice, and Apache OpenOffice. ODT is a more widely accepted format and is supported by many applications. Therefore, it is often necessary to convert XPS documents to ODT format.
How Aspose.Total helps for XPS to ODT Conversion
Aspose.Total for C++ is a suite of file format automation libraries that enables C++ developers to easily convert XPS to ODT in two simple steps. Firstly, you can use Aspose.PDF for C++ API to convert XPS file format to DOC. This API provides a wide range of features for manipulating PDF documents. It also supports conversion of PDF documents to other popular file formats such as DOC, XPS, HTML, and more. Secondly, by using advanced Word Document Processing API Aspose.Words for C++, you can export DOC to ODT. This API provides a comprehensive set of features for creating, editing, and converting Word documents. It also supports conversion of Word documents to other popular file formats such as ODT, PDF, HTML, and more. Therefore, Aspose.Total for C++ makes it easy to convert XPS to ODT in two simple steps.
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");