C++ API to Convert WORD to PPTM

Export WORD to PPTM within your C++ applications without using Microsoft Word® or PowerPoint

 

Aspose.Total for C++ consists of powerful file automation APIs that allows to automate WORD to PPTM conversion while using two of it’s APIs. Load your WORD 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 PPTM.

WORD to PPTM Conversion on C++

  1. Open WORD file using Document class reference
  2. Convert WORD 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 PPTM format using Save method and set Pptm 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 WORD 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 Pptm
pres->Save(output.pptm, Aspose::Slides::Export::SaveFormat::Pptm);                  

Load Password Protected WORD 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 WORD 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 PPTM Document via C++

While saving WORD as PPTM, you can also use Aspose.Slides for C++ to add further features in your PPTM 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 Pptm
pres->Save(output.pptm, Aspose::Slides::Export::SaveFormat::Pptm);  

Other Conversion Options

DOCX TO POTM (Microsoft PowerPoint Template File)
DOCX TO POTX (Microsoft PowerPoint Template Presentation)
DOCX TO PPSM (Macro-enabled Slide Show)
DOCX TO ODP (OpenDocument Presentation Format)
DOCX TO PPS (PowerPoint Slide Show)
DOCX TO PPTX (Open XML presentation Format)
DOCX TO PPT (Microsoft PowerPoint 97-2003)
DOCX TO PPSX (PowerPoint Slide Show)
DOCX TO POT (Microsoft PowerPoint Template Files)

DOCX What is DOCX File Format?

DOCX is a well-known format for Microsoft Word documents. Introduced from 2007 with the release of Microsoft Office 2007, the structure of this new Document format was changed from plain binary to a combination of XML and binary files. Docx files can be opened with Word 2007 and lateral versions but not with the earlier versions of MS Word which support DOC file extensions.

Read More

PPTM What is PPTM File Format?

Files with PPTM extension are Macro-enabled Presentation files that are created with Microsoft PowerPoint 2007 or higher versions. They are similar to PPTX files with the difference that the lateral can&rsquo;t execute macros though they can contain macros. PPTM files can be edited by opening them in Microsoft PowerPoint and updating the contents. Another similar format is PPSM but it is read-only by default and starts the slideshow when opened. PPTM, like PPTX, contains slides for different presentation elements like text, images, videos, graphs and other related material.

Read More