Are you a C++ developer looking to add to integrate PDF to XAML conversion feature inside your C++ applications? You can do it in two simple steps. You can export PDF 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.
C++ API to Export PDF to XAML
- Open PDF file using Document class reference
- Convert PDF 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 PDF file with an instance of Document class
auto doc = MakeObject<Document>(u"template.pdf");
// save PDF 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 PDF Document via C++
In the process of rendering PDF to XAML, you can open a password protected PDF and also change its password. In order to change the password of a PDF 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 PDF Document
auto doc = MakeObject<Document>(L"input.pdf", L"owner");
// change password of PDF 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 PDF 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);
Explore PDF Conversion Options with C++
What is PDF File Format?
PDF, or Portable Document Format, is a file format designed for presenting documents in a manner that remains consistent across various software applications, hardware devices, and operating systems. Each PDF file contains a comprehensive description of a fixed-layout document, encompassing text, fonts, graphics, and other necessary information for accurate display. Initially developed by Adobe Systems in the early 1990s, PDF served as a means to share computer documents while preserving text formatting and inline images.
PDF files are typically generated using software like Adobe Acrobat or similar PDF creation tools. Presently, PDF has become an open standard governed by the International Organization for Standardization (ISO). This standardization ensures compatibility and interoperability across different platforms and systems. To view PDF files, users can utilize free software such as Adobe Reader or other PDF viewers available.
One of the significant advantages of PDF is its platform independence, allowing seamless viewing and printing on a wide range of devices and operating systems. Regardless of the hardware or software used, the document’s layout and content will remain intact. This universal accessibility has contributed to the popularity of PDF as a preferred format for sharing and distributing documents across diverse platforms and systems.
PDF’s capability to encapsulate a complete document, including text, fonts, graphics, and formatting, makes it a reliable choice for various applications. Whether it’s sharing important reports, publishing e-books, distributing forms, or delivering professional presentations, PDF ensures consistent document rendering and reliable preservation of content across different environments.
What is XAML File Format?
XAML (Extensible Application Markup Language) is an XML-based language developed by Microsoft for initializing objects and defining structured values. It is extensively used in Microsoft’s WPF (Windows Presentation Foundation) technology for designing and building advanced user interfaces.
With XAML, it is possible to create a wide range of objects, including user interface elements such as buttons, text boxes, and media elements. Additionally, non-user interface objects such as brushes and geometries can also be defined using XAML.
Typically, XAML is compiled into a binary format that can be executed by a XAML processor. The XAML processor can be a standalone application like Microsoft’s Expression Blend tool or integrated into another application such as Microsoft’s Visual Studio IDE. When used in conjunction with WPF, XAML files are commonly compiled into a binary format known as BAML (Binary Application Markup Language). BAML is a more efficient format for storing and processing XAML-based user interface elements.
While XAML files are often compiled into binary formats, they can also be stored in a text-based format using XML (Extensible Markup Language). XML-based XAML files can be edited using any text editor due to the flexibility of XML. However, it is important to note that XML-based XAML files tend to be larger in size and may take longer to process compared to their binary counterparts.