Why to Convert JSON to POT
JSON (JavaScript Object Notation) is a lightweight data-interchange format that is used to store and exchange data. It is a text-based format that is easy for humans to read and write. On the other hand, POT (Presentation Template) is a file format used by Microsoft PowerPoint to store slide designs. It is used to create a consistent look and feel for all slides in a presentation. Therefore, it is important to convert JSON to POT in order to create a professional-looking presentation.
How Aspose.Total Helps for JSON to POT Conversion
Aspose.Total for C++ is a comprehensive suite of APIs that enables developers to create, manipulate, convert, and render documents, images, and other file formats. It includes two APIs, Aspose.Cells for C++ and Aspose.Slides for C++, which can be used to convert JSON to POT.
Using Aspose.Cells for C++, developers can parse JSON to PPTX. This API provides a wide range of features such as creating, editing, and converting spreadsheets. It also supports a variety of file formats including XLSX, XLS, ODS, CSV, and HTML.
Aspose.Slides for C++ can be used to convert PPTX to POT. This API provides a wide range of features such as creating, editing, and converting presentations. It also supports a variety of file formats including PPTX, PPT, PPSX, PPS, ODP, and PDF.
Both APIs come under the Aspose.Total for C++ package. This package provides a comprehensive set of APIs that can be used to create, manipulate, convert, and render documents, images, and other file formats. It also includes a number of other APIs such as Aspose.Words for C++, Aspose.PDF for C++, and Aspose.Imaging for C++.
In conclusion, Aspose.Total for C++ is an ideal solution for converting JSON to POT. It provides two APIs, Aspose.Cells for C++ and Aspose.Slides for C++, which can be used to parse JSON to PPTX and convert PPTX to POT respectively.
Convert JSON Format to POT via C++
- Create a new IWorkbook object and read valid JSON data from file
- Save JSON as PPTX using Save method
- Load PPTX document by using Presentation class
- Save the document to POT format using Save method
Get Started with C++ File Automation APIs
Install 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 the JSON. | |
intrusive_ptr<Aspose::Cells::IWorkbook> wkb = Factory::CreateIWorkbook(u"sourceFile.json"); | |
// Save in PPTX format. | |
wkb->Save(u"convertedFile.pptx", SaveFormat_Pptx); | |
// Load the PPTX. | |
SharedPtr<Presentation> prs = MakeObject<Presentation>(u"convertedFile.pptx"); | |
// Supports PPT, POT, PPS, POTX, PPSX, PPTM, PPSM, POTM, ODP, and OTP file formats | |
// Save in PPT format. | |
prs->Save(u"convertedFile.ppt", Aspose::Slides::Export::SaveFormat::Ppt); |
Set Layout and Convert JSON Format to POT via C++
While parsing JSON to POT, you can also set the size of rows and columns by loading JSON with IWorkbook class. If you need to set the same row height for all rows in the worksheet, you can do it by using the SetStandardHeight method of the ICells collection. Similarly, to set the same column width for all columns in the worksheet, use the ICells collection’s SetStandardWidth method.
// Load the JSON. | |
intrusive_ptr<Aspose::Cells::IWorkbook> wkb = Factory::CreateIWorkbook(u"sourceFile.json"); | |
// accessing the first worksheet in the Excel file | |
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0); | |
// setting the height of all rows in the worksheet to 25 | |
worksheet->GetICells()->SetStandardHeight(25); | |
//Setting the width of all columns in the worksheet to 20.5 | |
worksheet->GetICells()->SetStandardWidth(20.5); | |
// save in PPTX format. | |
wkb->Save(u"convertedFile.pptx", SaveFormat_Pptx); | |
// Load the PPTX. | |
SharedPtr<Presentation> prs = MakeObject<Presentation>(u"convertedFile.pptx"); | |
// Supports PPT, POT, PPS, POTX, PPSX, PPTM, PPSM, POTM, ODP, and OTP file formats | |
// Save in PPT format. | |
prs->Save(u"convertedFile.ppt", Aspose::Slides::Export::SaveFormat::Ppt); |
Convert JSON Format to POT with Watermark in C++
Using the API, you can also convert JSON to POT with watermark. In order to add a watermark to your POT document, you can first parse JSON to PPTX and add a watermark to it. In order to add a watermark, load the newly created PPTX file using the Presentation class, get the first slide, Add an AutoShape of Rectangle type, add TextFrame to the Rectangle, create the Paragraph object for a text frame, create Portion object for paragraph, add watermark using set_Text() and, can save the document to POT.
// Load the JSON. | |
intrusive_ptr<Aspose::Cells::IWorkbook> wkb = Factory::CreateIWorkbook(u"sourceFile.json"); | |
// Save in PPTX format. | |
wkb->Save(u"convertedFile.pptx", SaveFormat_Pptx); | |
// Load the PPTX. | |
SharedPtr<Presentation> prs = MakeObject<Presentation>(u"convertedFile.pptx"); | |
// Access first slide | |
SharedPtr<ISlide> slide = pres->get_Slides()->idx_get(0); | |
// Add an AutoShape of Rectangle type | |
SharedPtr<IAutoShape> ashp = slide->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 150, 75, 150, 50); | |
ashp->get_FillFormat()->set_FillType(FillType::NoFill); | |
// Add TextFrame to the Rectangle | |
ashp->AddTextFrame(u" "); | |
// Accessing the text frame | |
SharedPtr<ITextFrame> txtFrame = ashp->get_TextFrame(); | |
// Create the Paragraph object for text frame | |
SharedPtr<IParagraph> paragraph = txtFrame->get_Paragraphs()->idx_get(0); | |
// Create Portion object for paragraph | |
SharedPtr<IPortion> portion = paragraph->get_Portions()->idx_get(0); | |
portion->set_Text(u"Watermark Text Watermark Text Watermark Text"); | |
// Adding another shape | |
SharedPtr<IAutoShape> ashape2 = slide->get_Shapes()->AddAutoShape(ShapeType::Triangle, 200, 365, 400, 150); | |
// Reorder shape | |
slide->get_Shapes()->Reorder(2, ashape2); | |
// Supports PPT, POT, PPS, POTX, PPSX, PPTM, PPSM, POTM, ODP, and OTP file formats | |
// Save in PPT format. | |
prs->Save(u"convertedFile.ppt", Aspose::Slides::Export::SaveFormat::Ppt); |