Why to Convert MHTML to PPTM?
MHTML (MIME HTML) is a web page archive format that combines resources such as images, audio, and video into a single file. It is used to save webpages for offline viewing and is supported by most web browsers. On the other hand, PPTM is a Microsoft PowerPoint macro-enabled presentation file format. It is used to save presentations that contain macros and other programming code. Therefore, if you are a C++ developer and want to add the feature of MHTML to PPTM conversion inside your C++ applications, you need to convert MHTML to PPTM.
How Aspose.Total helps for MHTML to PPTM Conversion?
Aspose.Total for C++ is a comprehensive package of all the C++ APIs offered by Aspose. It includes APIs for manipulating PDF, Word, Excel, PowerPoint, and other file formats. To convert MHTML to PPTM, you can use two APIs from Aspose.Total for C++ package. First, you can use Aspose.PDF for C++ to export MHTML to PPTX. Secondly, you can use Aspose.Slides for C++ to convert PPTX to PPTM. Both APIs are easy to use and provide a wide range of features to manipulate the documents. Moreover, Aspose.Total for C++ also provides a free technical support to help you in case of any issue.
C++ API to Export MHTML to PPTM
- Open MHTML file using Document class reference
- Convert MHTML to PPTX by using Save method function
- Load PPTX document by using Presentation class reference
- Save the document to PPTM format using
Save
member function and set
Pptm
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 MHTML file with an instance of Document class
auto doc = MakeObject<Document>(u"template.mhtml");
// save MHTML 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 Pptm format
prs->Save(u"output.pptm", Aspose::Slides::Export::SaveFormat::Pptm);
Change Password of MHTML Document via C++
In the process of rendering MHTML to PPTM, you can open a password protected MHTML and also change its password. In order to change the password of a MHTML 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 MHTML Document
auto doc = MakeObject<Document>(L"input.mhtml", L"owner");
// change password of MHTML Document
doc->ChangePasswords(L"owner", L"newuser", L"newuser");
// save the document
doc->Save(L"output.Doc");
Add Images From Web in PPTM File via C++
After converting MHTML to PPTM, 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 PPTM file
// instantiate a Presentation object that represents a PPTM file
auto pres = System::MakeObject<Presentation>("output.pptm");
// 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.pptm", SaveFormat::Pptm);