Render CGM to POTM within C++ Applications

Convert CGM to POTM within your C++ Applications without using Microsoft® PowerPoint

CGM Conversion via C# .NET CGM Conversion via Java CGM Conversion in Android Apps

 

Why to Convert

As a C++ developer, you may need to integrate CGM to POTM conversion feature inside your C++ applications. CGM (Computer Graphics Metafile) is a vector graphics format, while POTM (PowerPoint Open XML Macro-Enabled Presentation) is a presentation format. Converting from CGM to POTM is necessary to make sure that the presentation is compatible with the latest version of Microsoft PowerPoint.

How Aspose.Total Helps for CGM to POTM Conversion

Aspose.Total for C++ is a comprehensive package of APIs that can help you to export CGM to PPTX and then convert PPTX to POTM. It includes two APIs, Aspose.PDF for C++ and Aspose.Slides for C++. Aspose.PDF for C++ allows you to export CGM to PPTX, while Aspose.Slides for C++ helps you to convert PPTX to POTM. Both APIs are easy to use and can be integrated into your C++ applications with minimal effort. Moreover, Aspose.Total for C++ also offers a wide range of other features such as document manipulation, text extraction, image processing, and more.

C++ API to Export CGM to POTM

  1. Open CGM file using Document class reference
  2. Convert CGM to PPTX by using Save method function
  3. Load PPTX document by using Presentation class reference
  4. 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 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 Potm format
prs->Save(u"output.potm", Aspose::Slides::Export::SaveFormat::Potm);  

Change Password of CGM Document via C++

In the process of rendering CGM to POTM, 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 POTM File via C++

After converting CGM 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);

Explore CGM Conversion Options with C++

Convert CGM to CSV (Comma Seperated Values)
Convert CGM to DIF (Data Interchange Format)
Convert CGM to EXCEL (Spreadsheet File Formats)
Convert CGM to FODS (OpenDocument Flat XML Spreadsheet)
Convert CGM to MD (Markdown Language)
Convert CGM to ODP (OpenDocument Presentation Format)
Convert CGM to ODS (OpenDocument Spreadsheet)
Convert CGM to OTP (OpenDocument Standard Format)
Convert CGM to POT (Microsoft PowerPoint Template Files)
Convert CGM to POTX (Microsoft PowerPoint Template Presentation)
Convert CGM to POWERPOINT (Presentation Files)
Convert CGM to PPS (PowerPoint Slide Show)
Convert CGM to PPSM (Macro-enabled Slide Show)
Convert CGM to PPSX (PowerPoint Slide Show)
Convert CGM to PPT (PowerPoint Presentation)
Convert CGM to PPTM (Macro-enabled Presentation File)
Convert CGM to SWF (Shockwave Flash Movie)
Convert CGM to SXC (StarOffice Calc Spreadsheet)
Convert CGM to TSV (Tab-separated Values)
Convert CGM to TXT (Text Document)
Convert CGM to XLAM (Excel Macro-Enabled Add-In)
Convert CGM to XLSB (Excel Binary Workbook)
Convert CGM to XLSM (Macro-enabled Spreadsheet)
Convert CGM to XLT (Excel 97 - 2003 Template)
Convert CGM to XLTM (Excel Macro-Enabled Template)
Convert CGM to XLTX (Excel Template)
Convert CGM to DOCM (Microsoft Word 2007 Marco File)
Convert CGM to DOT (Microsoft Word Template Files)
Convert CGM to DOTM (Microsoft Word 2007+ Template File)
Convert CGM to DOTX (Microsoft Word Template File)
Convert CGM to FLATOPC (Microsoft Word 2003 WordprocessingML)
Convert CGM to GIF (Graphical Interchange Format)
Convert CGM to MARKDOWN (Lightweight Markup Language)
Convert CGM to ODT (OpenDocument Text File Format)
Convert CGM to OTT (OpenDocument Template)
Convert CGM to PCL (Printer Command Language)
Convert CGM to PS (PostScript File)
Convert CGM to RTF (Rich Text Format)