Render XPS to ODP within C++ Applications

Convert XPS to ODP within your C++ Applications without using Microsoft® PowerPoint

XPS Conversion via C# .NET XPS Conversion via Java XPS Conversion in Android Apps

 

Why to Convert XPS to ODP?

XPS (XML Paper Specification) is a document format developed by Microsoft. It is used to store documents in a fixed layout format. ODP (OpenDocument Presentation) is an open standard for electronic documents. It is used to store presentations in a format that is independent of the application used to create them. Therefore, if you need to share your XPS documents with others, you may need to convert them to ODP format.

How Aspose.Total Helps for XPS to ODP Conversion?

If you are a C++ developer looking to add 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.

Aspose.PDF for C++ is a powerful PDF manipulation API that enables you to create, edit, and convert PDF documents. It allows you to export XPS documents to PPTX format. Aspose.Slides for C++ is a powerful presentation manipulation API that enables you to create, edit, and convert presentations. It allows you to convert PPTX documents to ODP format.

Aspose.Total for C++ is a suite of APIs that provides a comprehensive set of features for working with PDF, Word, Excel, PowerPoint, and other file formats. It includes Aspose.PDF for C++ and Aspose.Slides for C++, which makes it easy to export XPS to ODP. With Aspose.Total for C++, you can easily add XPS to ODP conversion feature inside your C++ applications.

C++ API to Export XPS to ODP

  1. Open XPS file using Document class reference
  2. Convert XPS to PPTX by using Save method function
  3. Load PPTX document by using Presentation class reference
  4. 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++

Convert XPS to CSV (Comma Seperated Values)
Convert XPS to DIF (Data Interchange Format)
Convert XPS to CSV (Comma Seperated Values)
Convert XPS to FODS (OpenDocument Flat XML Spreadsheet)
Convert XPS to MD (Markdown Language)
Convert XPS to ODS (OpenDocument Spreadsheet)
Convert XPS to OTP (OpenDocument Standard Format)
Convert XPS to POT (Microsoft PowerPoint Template Files)
Convert XPS to POTM (Microsoft PowerPoint Template File)
Convert XPS to POTX (Microsoft PowerPoint Template Presentation)
Convert XPS to POWERPOINT (Presentation Files)
Convert XPS to PPS (PowerPoint Slide Show)
Convert XPS to PPSM (Macro-enabled Slide Show)
Convert XPS to PPSX (PowerPoint Slide Show)
Convert XPS to PPT (PowerPoint Presentation)
Convert XPS to PPTM (Macro-enabled Presentation File)
Convert XPS to SWF (Shockwave Flash Movie)
Convert XPS to SXC (StarOffice Calc Spreadsheet)
Convert XPS to TSV (Tab-separated Values)
Convert XPS to TXT (Text Document)
Convert XPS to XLAM (Excel Macro-Enabled Add-In)
Convert XPS to XLSB (Excel Binary Workbook)
Convert XPS to XLSM (Macro-enabled Spreadsheet)
Convert XPS to XLT (Excel 97 - 2003 Template)
Convert XPS to XLTM (Excel Macro-Enabled Template)
Convert XPS to XLTX (Excel Template)
Convert XPS to DOCM (Microsoft Word 2007 Marco File)
Convert XPS to DOT (Microsoft Word Template Files)
Convert XPS to DOTM (Microsoft Word 2007+ Template File)
Convert XPS to DOTX (Microsoft Word Template File)
Convert XPS to FLATOPC (Microsoft Word 2003 WordprocessingML)
Convert XPS to GIF (Graphical Interchange Format)
Convert XPS to MARKDOWN (Lightweight Markup Language)
Convert XPS to ODT (OpenDocument Text File Format)
Convert XPS to OTT (OpenDocument Template)
Convert XPS to PCL (Printer Command Language)
Convert XPS to PS (PostScript File)
Convert XPS to RTF (Rich Text Format)