C++ API to Convert DOCX to POTM or Online App

Export DOCX to POTM within your C++ applications without using Microsoft Word® or PowerPoint

 

Aspose.Total for C++ consists of powerful file automation APIs that allows to automate DOCX to POTM conversion while using two of it’s APIs. Load your DOCX using Aspose.Words for C++ and convert it to HTML, then load the HTML via PowerPoint manipulation C++ API Aspose.Slides for C++ to create a new presentation, and save it as POTM.

DOCX to POTM Conversion on C++

  1. Open DOCX file using Document class reference
  2. Convert DOCX to HTML by using Save member function
  3. Initialize a new Presentation object
  4. Add an AutoShape in your slide, and add AddTextFrame in it
  5. Load the HTML content and write it in your Presentation file
  6. Save the document to POTM format using Save method and set Potm as SaveFormat

Get Started with C++ File Format 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 DOCX file with an instance of Document
Document document = new Document("template.docx");
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"sourceFile.docx");
// save the document in HTML file format
doc->Save(u"HtmlOutput.HTML");
// load the desired the presentation
SharedPtr<Presentation> pres = MakeObject<Presentation>();
// access first slide
SharedPtr<ISlide> sld = pres->get_Slides()->idx_get(0);
// add an AutoShape of Rectangle type
SharedPtr<IAutoShape>  ashp = sld->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 10, 10, 700, 500);
// reset default fill color
ashp->get_FillFormat()->set_FillType(FillType::NoFill);
// add TextFrame to the Rectangle
ashp->AddTextFrame(u" ");
// access the text frame
SharedPtr<ITextFrame>  txtFrame = ashp->get_TextFrame();
// get Paragraphs collection
SharedPtr<Aspose::Slides::IParagraphCollection>ParaCollection = txtFrame->get_Paragraphs();
// clear all paragraphs in added text frame
ParaCollection->Clear();
// load the HTML file using stream reader
SharedPtr<System::IO::StreamReader>  tr = MakeObject<System::IO::StreamReader>(HtmlOutput.HTML);
// add text from HTML stream reader in text frame
ParaCollection->AddFromHtml(tr->ReadToEnd());
// save presentation as Potm
pres->Save(output.potm, Aspose::Slides::Export::SaveFormat::Potm);                  

Free Online Converter for DOCX to POTM

Load Password Protected DOCX Document via C++

Apart from document conversion, Aspose.Words for C++ API allows tons of document manipulation features for C++ developers. In case your Microsoft Word DOCX file format is password protected, you can still open it using the API. In order to load the encrypted document, you can use a special constructor overload, which accepts a LoadOptions object. This object contains the Password property, which specifies the password string.

// when loading password protected document, the password is passed to the document's constructor using a LoadOptions object.
auto options = MakeObject<LoadOptions>(u"docPassword");
// load the document from the local file system by filename:
SharedPtr<Document> doc = MakeObject<Document>(u"Encrypted.docx", options);

Add Comments in POTM Document via C++

While saving DOCX as POTM, you can also use Aspose.Slides for C++ to add further features in your POTM document. For instance, you can add comments in your presentation. The presentation slide comment are associated with a particular author. The Presentation class holds the collection of authors in ICommentAuthorCollection that are responsible for adding slide comments. For each author, there is a collection of comments in ICommentCollection.

// instantiate Presentation class
SharedPtr<Presentation>pres = MakeObject<Presentation>();
// access first slide
SharedPtr<ILayoutSlide>layout = pres->get_LayoutSlides()->idx_get(0);
// add empty slide
pres->get_Slides()->AddEmptySlide(layout);
// adding Author
SharedPtr<ICommentAuthor> author = pres->get_CommentAuthors()->AddAuthor(u"John Doe", u"MF");
// set position of comments
System::Drawing::PointF point = System::Drawing::PointF(0.2f, 0.2f);
// add slide comment for an author on slide 1
author->get_Comments()->AddComment(u"Hello John, this is a slide comment", pres->get_Slides()->idx_get(1), point, DateTime::get_Now());
// access ISlide 1
SharedPtr<ISlide> slide = pres->get_Slides()->idx_get(0);
// save presentation as Potm
pres->Save(output.potm, Aspose::Slides::Export::SaveFormat::Potm);  

Explore DOCX Conversion Options with C++

Convert DOCX to CSV (Comma Seperated Values)
Convert DOCX to DIF (Data Interchange Format)
Convert DOCX to XLSX (Open XML Workbook)
Convert DOCX to FODS (OpenDocument Flat XML Spreadsheet)
Convert DOCX to JSON (JavaScript Object Notation File)
Convert DOCX to ODP (OpenDocument Presentation Format)
Convert DOCX to ODS (OpenDocument Spreadsheet)
Convert DOCX to POT (Microsoft PowerPoint Template Files)
Convert DOCX to POTM (Microsoft PowerPoint Template File)
Convert DOCX to POTX (Microsoft PowerPoint Template Presentation)
Convert DOCX to PPTX (Open XML presentation Format)
Convert DOCX to PPS (PowerPoint Slide Show)
Convert DOCX to PPSM (Macro-enabled Slide Show)
Convert DOCX to PPSX (PowerPoint Slide Show)
Convert DOCX to PPT (Microsoft PowerPoint 97-2003)
Convert DOCX to PPTM (Macro-enabled Presentation File)
Convert DOCX to PPTX (Open XML presentation Format)
Convert DOCX to SXC (StarOffice Calc Spreadsheet)
Convert DOCX to TSV (Tab Seperated Values)
Convert DOCX to XLAM (Excel Macro-Enabled Add-In)
Convert DOCX to XLS (Microsoft Excel Spreadsheet (Legacy))
Convert DOCX to XLSB (Excel Binary Workbook)
Convert DOCX to XLSM (Macro-enabled Spreadsheet)
Convert DOCX to XLSX (Open XML Workbook)
Convert DOCX to XLT (Excel 97 - 2003 Template)
Convert DOCX to XLTM (Excel Macro-Enabled Template)
Convert DOCX to XLTX (Excel Template)
Convert DOCX to ODP (OpenDocument Presentation Format)
Convert DOCX to POT (Microsoft PowerPoint Template Files)
Convert DOCX to POTM (Microsoft PowerPoint Template File)
Convert DOCX to POTX (Microsoft PowerPoint Template Presentation)
Convert DOCX to PPTX (Open XML presentation Format)
Convert DOCX to PPS (PowerPoint Slide Show)
Convert DOCX to PPSM (Macro-enabled Slide Show)
Convert DOCX to PPSX (PowerPoint Slide Show)
Convert DOCX to PPT (Microsoft PowerPoint 97-2003)
Convert DOCX to PPTM (Macro-enabled Presentation File)
Convert DOCX to PPTX (Open XML presentation Format)

What is DOCX File Format

DOCX is a file format for Word documents, developed by Microsoft. It is a XML-based format that allows for more complex document structures than the older DOC format, and supports features such as document encryption, digital signatures, and watermarks. DOCX files are also smaller in size than their DOC counterparts, making them more efficient to store and transmit.

Read More

What is POTM File Format

Microsoft PowerPoint Template File POTM format is a file format used to store PowerPoint templates. A POTM file contains a PowerPoint template, which includes slide layouts, colors, fonts, and other design elements. POTM files are used to create new PowerPoint presentations from scratch, or to modify existing PowerPoint presentations. When you create a new PowerPoint presentation, you can choose to use a blank template, or you can select a template from the available options. If you select a template, the POTM file for that template will be downloaded from the Microsoft website and saved on your computer. When you open the PowerPoint application, the template will be loaded and you can begin creating your presentation.If you want to modify an existing PowerPoint presentation, you can open the POTM file for that presentation in PowerPoint and make changes to the template. For example, you can change the slide layout, colors, fonts, or other design elements. Once you have made your changes, you can save the POTM file and use it to create a new PowerPoint presentation.

Read More