Are you a C++ developer looking to add to integrate XPS to ODP conversion feature inside your C++ applications? You can do it in two simple steps. You can export XPS to PPTX by using Aspose.PDF for C++ . Secondly, by using Aspose.Slides for C++ , you can convert PPTX to ODP. Both APIs come under Aspose.Total for C++ package.
C++ API to Export XPS to ODP
- 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 ODP format using
Save
member function and set
Odp
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 Odp format
prs->Save(u"output.odp", Aspose::Slides::Export::SaveFormat::Odp);
Change Password of XPS Document via C++
In the process of rendering XPS to ODP, 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 ODP File via C++
After converting XPS to ODP, 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 ODP file
// instantiate a Presentation object that represents a ODP file
auto pres = System::MakeObject<Presentation>("output.odp");
// 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.odp", SaveFormat::Odp);
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 ODP File Format
OpenDocument Presentation Format (ODP) is a file format for electronic presentations, created by the OpenDocument Format Alliance and standardized by the ISO/IEC 26300:2006 international standard. It is used for storing slide decks and is able to contain a wide range of content, including text, images, multimedia, charts, and other graphical elements.ODP files are based on the XML standard and use the .odp file extension. They can be opened and edited by a variety of software programs, including LibreOffice Impress, Apache OpenOffice Impress, and Microsoft PowerPoint.ODP files offer a number of advantages over other presentation formats, such as the ability to be edited by multiple users simultaneously and the ability to be easily converted to other formats.
Read More