Why to Convert
If you are a C++ developer looking to add the ability to convert XPS to PPTM inside your C++ applications, then you need to convert XPS to PPTX and then PPTX to PPTM. This is because XPS and PPTM are two different file formats and cannot be directly converted.
How Aspose.Total Helps for XPS to PPTM Conversion
Aspose.Total for C++ is a suite of APIs that can help you to easily convert XPS to PPTM. It includes two APIs, Aspose.PDF for C++ and Aspose.Slides for C++. Aspose.PDF for C++ can be used to export XPS to PPTX and Aspose.Slides for C++ can be used to convert PPTX to PPTM. Both APIs are available as part of the Aspose.Total for C++ package.
Using Aspose.Total for C++, you can easily integrate XPS to PPTM conversion feature inside your C++ applications in two simple steps. First, you can use Aspose.PDF for C++ to export XPS to PPTX. Secondly, you can use Aspose.Slides for C++ to convert PPTX to PPTM. Both APIs are available as part of the Aspose.Total for C++ package.
Aspose.Total for C++ is a comprehensive suite of APIs that can help you to easily integrate XPS to PPTM conversion feature inside your C++ applications. It includes two APIs, Aspose.PDF for C++ and Aspose.Slides for C++, which can be used to export XPS to PPTX and convert PPTX to PPTM respectively. Aspose.Total for C++ is a reliable and cost-effective solution for C++ developers looking to add the ability to convert XPS to PPTM inside their applications.
C++ API to Export XPS to PPTM
- 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 PPTM format using
Save
member function and set
Pptm
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 Pptm format
prs->Save(u"output.pptm", Aspose::Slides::Export::SaveFormat::Pptm);
Change Password of XPS Document via C++
In the process of rendering XPS to PPTM, 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 PPTM File via C++
After converting XPS to PPTM, 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 PPTM file
// instantiate a Presentation object that represents a PPTM file
auto pres = System::MakeObject<Presentation>("output.pptm");
// 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.pptm", SaveFormat::Pptm);