Why to Convert SVG to POTM?
If you are a C++ developer looking to add a feature to your applications that allows for SVG to POTM conversion, then you are in the right place. SVG (Scalable Vector Graphics) is an XML-based vector image format for two-dimensional graphics with support for interactivity and animation. POTM (PowerPoint Open XML Macro-Enabled Presentation) is a file format used by Microsoft PowerPoint to store presentations that contain macros. Converting SVG to POTM allows you to use the vector graphics in your PowerPoint presentations.
How Aspose.Total Helps for SVG to POTM Conversion?
Aspose.Total for C++ is a package that contains all the APIs from Aspose for C++. It includes Aspose.PDF for C++ and Aspose.Slides for C++, which can be used to export SVG to PPTX and convert PPTX to POTM respectively. Aspose.PDF for C++ allows you to export SVG to PPTX in two simple steps. First, you need to load the SVG file and then save it as a PPTX file. Aspose.Slides for C++ can then be used to convert the PPTX file to POTM. The API provides a wide range of features that allow you to customize the output POTM file. You can add text, images, shapes, and other elements to the presentation. You can also apply various formatting options to the elements.
C++ API to Export SVG to POTM
- Open SVG file using Document class reference
- Convert SVG 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 SVG file with an instance of Document class
auto doc = MakeObject<Document>(u"template.svg");
// save SVG 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 SVG Document via C++
In the process of rendering SVG to POTM, you can open a password protected SVG and also change its password. In order to change the password of a SVG 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 SVG Document
auto doc = MakeObject<Document>(L"input.svg", L"owner");
// change password of SVG 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 SVG 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);