Why to Convert
If you are a C++ developer looking to add a feature to your application that allows for the conversion of TEX to POTM, then you have come to the right place. TEX is a markup language used for typesetting documents, while POTM is a Microsoft PowerPoint Open XML Macro-Enabled Presentation format. Converting between these two formats can be a difficult task, but with the right tools, it can be done quickly and easily.
How Aspose.Total Helps for TEX to POTM Conversion
Aspose.Total for C++ is a suite of APIs that can help you with the conversion of TEX to POTM. It includes two APIs, Aspose.PDF for C++ and Aspose.Slides for C++. With Aspose.PDF for C++, you can export TEX to PPTX, and with Aspose.Slides for C++, you can convert PPTX to POTM. Both APIs are included in the Aspose.Total for C++ package, so you can get both of them in one convenient package.
Using Aspose.Total for C++, you can easily convert TEX to POTM in two simple steps. First, you can export TEX to PPTX using Aspose.PDF for C++. Then, you can convert PPTX to POTM using Aspose.Slides for C++. This makes it easy to add the TEX to POTM conversion feature to your C++ applications.
Aspose.Total for C++ is a powerful suite of APIs that can help you with the conversion of TEX to POTM. With its two APIs, Aspose.PDF for C++ and Aspose.Slides for C++, you can easily export TEX to PPTX and convert PPTX to POTM. This makes it easy to add the TEX to POTM conversion feature to your C++ applications.
C++ API to Export TEX to POTM
- Open TEX file using Document class reference
- Convert TEX to PPTX by using Save method function
- Load PPTX document by using Presentation class reference
- 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 TEX file with an instance of Document class
auto doc = MakeObject<Document>(u"template.tex");
// save TEX 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 TEX Document via C++
In the process of rendering TEX to POTM, you can open a password protected TEX and also change its password. In order to change the password of a TEX 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 TEX Document
auto doc = MakeObject<Document>(L"input.tex", L"owner");
// change password of TEX 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 TEX 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);