Why to Convert
If you are a C++ developer, you may need to integrate XPS to POT conversion feature inside your C++ applications. XPS is a fixed document format developed by Microsoft, while POT is a presentation file format used by Microsoft PowerPoint. Converting XPS to POT can help you to create presentations from XPS documents.
How Aspose.Total helps for XPS to POT Conversion
Aspose.Total for C++ is a comprehensive package of all the C++ APIs offered by Aspose. It includes APIs for manipulating PDF, Word, Excel, PowerPoint, and other file formats. It also includes APIs for manipulating images, barcodes, and other file formats. To convert XPS to POT, you can use two APIs from Aspose.Total for C++ package.
The first API is Aspose.PDF for C++. It is a powerful PDF manipulation API that can be used to export XPS to PPTX. It also provides features to create, edit, and convert PDF documents.
The second API is Aspose.Slides for C++. It is a powerful presentation manipulation API that can be used to convert PPTX to POT. It also provides features to create, edit, and convert presentations.
Both APIs come under Aspose.Total for C++ package. It is a comprehensive package of all the C++ APIs offered by Aspose. It includes APIs for manipulating PDF, Word, Excel, PowerPoint, and other file formats. It also includes APIs for manipulating images, barcodes, and other file formats.
By using Aspose.Total for C++, you can easily convert XPS to POT in two simple steps. First, you can export XPS to PPTX by using Aspose.PDF for C++. Secondly, by using Aspose.Slides for C++, you can convert PPTX to POT.
Aspose.Total for C++ is a comprehensive package of all the C++ APIs offered by Aspose. It provides an easy and efficient way to convert XPS to POT. It also provides features to create, edit, and convert documents and presentations.
C++ API to Export XPS to POT
- 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 POT format using
Save
member function and set
Pot
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 Pot format
prs->Save(u"output.pot", Aspose::Slides::Export::SaveFormat::Pot);
Change Password of XPS Document via C++
In the process of rendering XPS to POT, 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 POT File via C++
After converting XPS to POT, 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 POT file
// instantiate a Presentation object that represents a POT file
auto pres = System::MakeObject<Presentation>("output.pot");
// 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.pot", SaveFormat::Pot);