Why to Convert
As a C++ developer, you may need to integrate CGM to PPTM conversion feature inside your C++ applications. CGM (Computer Graphics Metafile) is a vector graphics format, while PPTM (PowerPoint Macro-Enabled Presentation) is a presentation format. Converting CGM to PPTM allows you to create presentations with vector graphics, which can be edited and manipulated in PowerPoint.
How Aspose.Total Helps for CGM to PPTM Conversion
Aspose.Total for C++ is a suite of APIs that provides a comprehensive set of features for C++ developers. It includes two APIs, Aspose.PDF for C++ and Aspose.Slides for C++, which can be used to export CGM to PPTX and convert PPTX to PPTM respectively.
To export CGM to PPTX, you can use Aspose.PDF for C++. This API provides a wide range of features for working with PDF documents, including the ability to convert CGM to PPTX. It also supports a variety of other formats, such as HTML, XPS, SVG, and more.
Once you have exported CGM to PPTX, you can use Aspose.Slides for C++ to convert PPTX to PPTM. This API provides a comprehensive set of features for working with PowerPoint presentations, including the ability to convert PPTX to PPTM. It also supports a variety of other formats, such as PDF, HTML, XPS, and more.
By using Aspose.Total for C++, you can easily integrate CGM to PPTM conversion feature inside your C++ applications. It provides a simple and efficient way to export CGM to PPTX and convert PPTX to PPTM. Moreover, it also supports a variety of other formats, making it a great choice for C++ developers.
C++ API to Export CGM to PPTM
- Open CGM file using Document class reference
- Convert CGM 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
Pptmas 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 CGM file with an instance of Document class
auto doc = MakeObject<Document>(u"template.cgm");
// save CGM 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 CGM Document via C++
In the process of rendering CGM to PPTM, you can open a password protected CGM and also change its password. In order to change the password of a CGM 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 CGM Document
auto doc = MakeObject<Document>(L"input.cgm", L"owner");
// change password of CGM 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 CGM 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);