Why to Convert CGM to MHTML
The CGM (Computer Graphics Metafile) file format is a vector-based graphics format used for storing and exchanging graphics data. It is widely used in the engineering and technical drawing fields. However, it is not supported by many web browsers, which makes it difficult to share CGM files online. MHTML (MIME HTML) is a web page archive format that is supported by most web browsers. It is a convenient way to share web pages and other documents online. Therefore, it is necessary to convert CGM to MHTML in order to share CGM files online.
How Aspose.Total Helps for CGM to MHTML Conversion
Aspose.Total for C++ is a suite of file format automation libraries that enables C++ developers to easily convert CGM to MHTML in two simple steps. Firstly, you can use Aspose.PDF for C++ API to convert CGM file format to DOC. This API provides a wide range of features for manipulating PDF documents, including the ability to convert PDF files to other formats. Secondly, by using the advanced Word Document Processing API Aspose.Words for C++, you can export DOC to MHTML. This API provides a comprehensive set of features for creating, editing, and converting Word documents. With Aspose.Total for C++, C++ developers can quickly and easily convert CGM to MHTML.
C++ API to Render CGM to MHTML
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 CGM file with an instance of Document class reference
auto doc = MakeObject<Document>(u"sourceFile.cgm");
// save CGM as a DOC
doc->Save(u"DocOutput.doc", SaveFormat::Doc);
// load DOC with an instance of Document
System::SharedPtr<Document> wordDoc = System::MakeObject<Document>(u"DocOutput.doc");
// save document as Mhtml
wordDoc->Save(u"output.Mhtml");
Change Password of CGM Document via C++
In the process of rendering CGM to MHTML, you can open a password protected CGM and also change its password. In order to change the password of a CGM 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 CGM Document
auto doc = MakeObject<Document>(L"input.cgm", L"owner");
// change password of CGM Document
doc->ChangePasswords(L"owner", L"newuser", L"newuser");
// save the document
doc->Save(L"output.Doc");
Restrict MHTML File Editing via C++
You can also restrict MHTML file editing using using Aspose.Words for C++ API. Sometimes you may need to limit the ability to edit a document and only allow certain actions with it. API enables you to control the way you restrict the content using the ProtectionType enumeration parameter. The following code example demonstrates how to restrict editing in a document so only editing in form fields is possible.
// load Doc with an instance of Document
auto doc = System::MakeObject<Document>("input.doc");
// document protection only works when document protection is turned and only editing in form fields is allowed.
doc->Protect(ProtectionType::AllowOnlyFormFields, u"password");
// save the protected document.
doc->Save(u"Protected.Mhtml");