C++ API to Convert ODT to POTM or Online App
Export ODT to POTM within your C++ applications without using Microsoft Word® or PowerPoint
Why to Convert
The OpenDocument Text (ODT) format is a popular open source document format used for creating and editing text documents. It is an XML-based format that is supported by many applications, including Microsoft Word. However, the PowerPoint Open XML Macro-Enabled Presentation (POTM) format is the native format for Microsoft PowerPoint. It is a macro-enabled version of the PowerPoint Open XML Presentation (PPTX) format and is used to store presentations with macros. Therefore, it is necessary to convert ODT to POTM in order to use the document in PowerPoint.
How Aspose.Total helps for odt to potm conversion
Aspose.Total for C++ is a suite of powerful file automation APIs that enables developers to automate the conversion of ODT to POTM. It consists of two APIs, Aspose.Words for C++ and Aspose.Slides for C++. Aspose.Words for C++ is a powerful document processing API that enables developers to load and manipulate ODT documents. It can also be used to convert ODT to HTML. Aspose.Slides for C++ is a powerful PowerPoint manipulation API that enables developers to load and manipulate HTML documents and save them as POTM.
Using Aspose.Total for C++, developers can easily automate the conversion of ODT to POTM. First, the ODT document is loaded using Aspose.Words for C++ and converted to HTML. Then, the HTML document is loaded using Aspose.Slides for C++ and saved as a POTM. This process can be automated using the APIs provided by Aspose.Total for C++.
Aspose.Total for C++ is a comprehensive suite of APIs that enables developers to automate the conversion of ODT to POTM. It consists of two powerful APIs, Aspose.Words for C++ and Aspose.Slides for C++, which can be used to load and manipulate ODT and HTML documents respectively. Using these APIs, developers can easily automate the conversion of ODT to POTM.
ODT to POTM Conversion on C++
- Open ODT file using Document class reference
- Convert ODT to HTML by using Save member function
- Initialize a new Presentation object
- Add an AutoShape in your slide, and add AddTextFrame in it
- Load the HTML content and write it in your Presentation file
- 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 ODT file with an instance of Document
Document document = new Document("template.odt");
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"sourceFile.odt");
// 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 ODT to POTM
Load Password Protected ODT 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 ODT 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.odt", options);
Add Comments in POTM Document via C++
While saving ODT 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);
FAQ
- How can I convert ODT to POTM Online?You can find the online app for ODT conversion above. To start the conversion process, you can add the ODT file either by dragging and dropping it or by clicking inside the white area to import the document. Once you have added the file, you can simply click the "Convert" button. After the ODT to POTM conversion is completed, you can download your converted file with just one click.
- How long does it take to convert ODT?The speed of this online converter depends largely on the size of the ODT file being converted. Small ODT files can be converted to POTM in just a few seconds. If you are using the conversion code within a C++ application, the conversion speed will depend on how well you have optimized your application.
- Is it safe to convert ODT to POTM using free Aspose.Total converter?Of course! After your ODT file is converted to POTM using our online converter, the download link for the POTM file will be immediately available. We take the security and privacy of your uploaded files seriously and delete them 24 hours after the conversion process is complete. Rest assured, no one will have access to your files. Our conversion process, including ODT conversion, is completely safe. We provide a free app for testing purposes so that you can verify the results before integrating the code.
- What browser should I use to convert ODT?For online ODT conversion, you can use any modern browser, such as Google Chrome, Firefox, Opera, or Safari. However, if you're developing a desktop application, Aspose.Total ODT Conversion API is recommended for smooth performance.