Why to Convert
Are you a C++ developer looking to add the ability to convert XPS to POTM inside your C++ applications? XPS is a fixed document format developed by Microsoft, while POTM is a Microsoft PowerPoint Open XML Macro-Enabled Presentation format. Converting XPS to POTM can be useful for a variety of reasons, such as to make the document more compatible with other applications, or to add macros to the document.
How Aspose.Total Helps for XPS to POTM Conversion
Fortunately, converting XPS to POTM is a simple process that can be done in two 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, which is a suite of APIs that provides developers with a comprehensive set of tools for working with documents, images, and other file formats. Secondly, by using Aspose.Slides for C++, you can convert PPTX to POTM. Aspose.Slides for C++ is also part of the Aspose.Total for C++ package, and provides developers with a powerful set of features for working with presentations.
By using Aspose.Total for C++, developers can easily and quickly convert XPS to POTM in just two steps. This makes it easy to add the ability to convert XPS to POTM to any C++ application, allowing developers to quickly and easily add this feature to their applications.
C++ API to Export XPS to POTM
- 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 POTM format using
Save
member function and set
Potm
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 Potm format
prs->Save(u"output.potm", Aspose::Slides::Export::SaveFormat::Potm);
Change Password of XPS Document via C++
In the process of rendering XPS to POTM, 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 POTM File via C++
After converting XPS to POTM, 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 POTM file
// instantiate a Presentation object that represents a POTM file
auto pres = System::MakeObject<Presentation>("output.potm");
// 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.potm", SaveFormat::Potm);