Why to Convert XPS to OTP?
XPS (XML Paper Specification) is a document format developed by Microsoft that is used to store documents in a fixed layout. It is similar to PDF, but it is not as widely used. On the other hand, OTP (OpenDocument Presentation) is an open standard for electronic documents, which is used for creating presentations. It is supported by many applications, including Microsoft PowerPoint. Therefore, if you want to share your documents with others, it is better to convert XPS to OTP.
How Aspose.Total Helps for XPS to OTP Conversion?
If you are a C++ developer and you want to add the feature of XPS to OTP conversion inside your C++ applications, you can do it in two simple steps. First, you can export XPS to PPTX by using Aspose.PDF for C++. This API is part of the Aspose.Total for C++ package. Secondly, by using Aspose.Slides for C++, you can convert PPTX to OTP. Aspose.Slides for C++ is also part of the Aspose.Total for C++ package. Therefore, you can use both APIs to convert XPS to OTP.
C++ API to Export XPS to OTP
- Open XPS file using Document class reference
- Convert XPS to PPTX by using Save method function
- Load PPTX document by using Presentation class reference
- Save the document to OTP format using
Save
member function and set
Otp
as SaveFormat
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
auto doc = MakeObject<Document>(u"template.xps");
// save XPS as PPTX format
doc->Save(u"PptxOutput.pptx", SaveFormat::Pptx);
// instantiate a Presentation object that represents a PPTX file
SharedPtr<Presentation> prs = MakeObject<Presentation>(u"PptxOutput.pptx");
// save the presentation as Otp format
prs->Save(u"output.otp", Aspose::Slides::Export::SaveFormat::Otp);
Change Password of XPS Document via C++
In the process of rendering XPS to OTP, 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");
Add Images From Web in OTP File via C++
After converting XPS to OTP, you can also add images from web to your output document. Aspose.Slides for C++ supports operations with images in these popular formats: JPEG, PNG, BMP, GIF, and others. You can add one or several images on your computer onto a slide in a presentation. This sample code in C++ shows you how to add an image to a OTP file
// instantiate a Presentation object that represents a OTP file
auto pres = System::MakeObject<Presentation>("output.otp");
// get slide
auto slide = pres->get_Slides()->idx_get(0);
// initialize Web Client
auto webClient = System::MakeObject<WebClient>();
// get image data
auto imageData = webClient->DownloadData(System::MakeObject<Uri>(u"[REPLACE WITH URL]"));
// add image
auto image = pres->get_Images()->AddImage(imageData);
// add picture frame
slide->get_Shapes()->AddPictureFrame(ShapeType::Rectangle, 10.0f, 10.0f, 100.0f, 100.0f, image);
// save updated file
pres->Save(u"updated.otp", SaveFormat::Otp);