Why to Convert
If you are a C++ developer looking to add the ability to convert CGM to POTX inside your C++ applications, then you need to export CGM to PPTX and then convert PPTX to POTX. This is necessary in order to ensure that the CGM files are properly converted to the POTX format.
How Aspose.Total Helps for CGM to POTX Conversion
Aspose.Total for C++ is a comprehensive suite of APIs that can help C++ developers to easily integrate CGM to POTX conversion feature inside their applications. It includes two APIs, namely Aspose.PDF for C++ and Aspose.Slides for C++. Aspose.PDF for C++ can be used to export CGM to PPTX, while Aspose.Slides for C++ can be used to convert PPTX to POTX. Both APIs are easy to use and provide a wide range of features that can help developers to quickly and easily integrate CGM to POTX conversion feature inside their applications. Moreover, Aspose.Total for C++ also provides a wide range of other APIs that can be used to create, edit, and manipulate various types of documents.
C++ API to Export CGM to POTX
- 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 POTX format using
Save
member function and set
Potx
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 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 Potx format
prs->Save(u"output.potx", Aspose::Slides::Export::SaveFormat::Potx);
Change Password of CGM Document via C++
In the process of rendering CGM to POTX, 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 POTX File via C++
After converting CGM to POTX, 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 POTX file
// instantiate a Presentation object that represents a POTX file
auto pres = System::MakeObject<Presentation>("output.potx");
// 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.potx", SaveFormat::Potx);