C++ API to Convert DOCX to ODP or Online App
Export DOCX to ODP within your C++ applications without using Microsoft Word® or PowerPoint
Why to Convert
Converting documents from one format to another is a common requirement in many organizations. For example, converting a DOCX file to ODP format can be useful when you need to present the content of a document in a presentation.How Aspose.Total helps for docx to odp conversion
Aspose.Total for C++ is a suite of powerful file automation APIs that enables developers to automate DOCX to ODP conversion. It consists of two APIs, Aspose.Words for C++ and Aspose.Slides for C++. Aspose.Words for C++ can be used to load a DOCX file and convert it to HTML. Aspose.Slides for C++ can then be used to load the HTML and create a new presentation. Finally, the presentation can be saved as an ODP file. This process can be automated using the APIs provided by Aspose.Total for C++.DOCX to ODP Conversion on C++
- Open DOCX file using Document class reference
- Convert DOCX 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 ODP format using Save method and set Odp 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 Odp
pres->Save(output.odp, Aspose::Slides::Export::SaveFormat::Odp);
Free Online Converter for DOCX to ODP
x" id="child-iframe" width="80%">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 ODP Document via C++
While saving DOCX as ODP, you can also use Aspose.Slides for C++ to add further features in your ODP 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 Odp
pres->Save(output.odp, Aspose::Slides::Export::SaveFormat::Odp);
FAQ
- How can I convert DOCX to ODP Online?You can find the online app for DOCX conversion above. To start the conversion process, you can add the DOCX 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 DOCX to ODP conversion is completed, you can download your converted file with just one click.
- How long does it take to convert DOCX?The speed of this online converter depends largely on the size of the DOCX file being converted. Small DOCX files can be converted to ODP 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 DOCX to ODP using free Aspose.Total converter?Of course! After your DOCX file is converted to ODP using our online converter, the download link for the ODP 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 DOCX 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 DOCX?For online DOCX 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 DOCX Conversion API is recommended for smooth performance.