Why to Convert CGM to XAML
CGM (Computer Graphics Metafile) is a vector graphics format used for storing and exchanging graphics data. It is widely used in engineering and technical applications. XAML (Extensible Application Markup Language) is a declarative XML-based language used for creating user interfaces in .NET applications. Converting CGM to XAML allows developers to integrate CGM data into their .NET applications.
How Aspose.Total Helps for CGM to XAML Conversion
Are you a C++ developer looking to add the CGM to XAML conversion feature inside your C++ applications? You can do it in two simple steps. You can export CGM to PPTX by using Aspose.PDF for C++ . Secondly, by using Aspose.Slides for C++ , you can convert PPTX to XAML. Both APIs come under Aspose.Total for C++ package.
Aspose.PDF for C++ is a powerful library for creating, editing, and converting PDF documents. It supports a wide range of features such as creating PDF documents from scratch, adding text, images, and annotations, and converting PDF documents to other formats such as HTML, XPS, and TIFF. It also supports the conversion of CGM to PPTX.
Aspose.Slides for C++ is a powerful library for creating, editing, and converting presentations. It supports a wide range of features such as creating presentations from scratch, adding text, images, and animations, and converting presentations to other formats such as HTML, PDF, and XAML. It also supports the conversion of PPTX to XAML.
Aspose.Total for C++ is a comprehensive suite of APIs for C++ developers. It includes all the APIs from Aspose.PDF for C++ and Aspose.Slides for C++, as well as other APIs such as Aspose.Words for C++, Aspose.Cells for C++, and Aspose.Email for C++. It is a cost-effective solution for developers who need to work with multiple file formats.
By using Aspose.Total for C++, developers can easily add the CGM to XAML conversion feature inside their C++ applications. It is a powerful and reliable solution for converting CGM to XAML.
C++ API to Export CGM to XAML
- Open CGM file using Document class reference
- Convert CGM to PPTX by using Save method function
- Load PPTX document by using Presentation class reference
- Save the document to XAML format using
Save
member function and set
Xaml
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 CGM file with an instance of Document class
auto doc = MakeObject<Document>(u"template.cgm");
// save CGM 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 Xaml format
prs->Save(u"output.xaml", Aspose::Slides::Export::SaveFormat::Xaml);
Change Password of CGM Document via C++
In the process of rendering CGM to XAML, 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");
Add Images From Web in XAML File via C++
After converting CGM to XAML, 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 XAML file
// instantiate a Presentation object that represents a XAML file
auto pres = System::MakeObject<Presentation>("output.xaml");
// 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.xaml", SaveFormat::Xaml);