Why to Convert XSLFO to ODP?
XSLFO (XSL Formatting Objects) is a markup language for XML document formatting. It is used to define the layout of a document, such as page size, margins, fonts, and other formatting details. ODP (OpenDocument Presentation) is a file format for presentations created by the OpenDocument community. It is an open standard for electronic documents, such as spreadsheets, charts, presentations, and word processing documents. Converting XSLFO to ODP allows users to create presentations with a wide range of features, including animations, transitions, and multimedia.
How Aspose.Total Helps for XSLFO to ODP Conversion?
If you are a C++ developer looking to add XSLFO to ODP conversion feature inside your C++ applications, you can do it in two simple steps. You can export XSLFO 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.Total for C++ is a suite of APIs that provides developers with a comprehensive set of tools for creating, editing, and converting documents. It includes APIs for PDF, Slides, Words, Cells, and Barcode. With Aspose.Total for C++, developers can easily add XSLFO to ODP conversion feature to their C++ applications.
C++ API to Export XSLFO to ODP
- Open XSLFO file using Document class reference
- Convert XSLFO 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 XSLFO file with an instance of Document class
auto doc = MakeObject<Document>(u"template.xslfo");
// save XSLFO 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 XSLFO Document via C++
In the process of rendering XSLFO to ODP, you can open a password protected XSLFO and also change its password. In order to change the password of a XSLFO 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 XSLFO Document
auto doc = MakeObject<Document>(L"input.xslfo", L"owner");
// change password of XSLFO 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 XSLFO 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);