Du kan konvertera JSON till POTM i vilken C++-applikation som helst i två enkla steg. För det första, genom att använda Aspose.Cells for C++ , kan du analysera JSON till PPTX. Efter det, genom att använda Aspose.Slides for C++ , kan du konvertera PPTX till POTM. Båda API:erna kommer under paketet Aspose.Total for C++ .
Konvertera JSON-format till POTM via C++
- Skapa ett nytt IWorkbook objekt och läs giltig JSON-data från filen
- Spara JSON som PPTX med metoden Save
- Ladda PPTX-dokument genom att använda klassen Presentation
- Spara dokumentet i POTM-format med metoden Save
Konverteringskrav
Installera via Package Manager-konsolen i Visual Studio med Install-Package Aspose.Total.Cpp
.
Alternativt kan du hämta offline MSI-installationsprogrammet eller DLL-filer i en ZIP-fil från 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); |
Ställ in layout och konvertera JSON-format till POTM via C++
När du analyserar JSON till POTM kan du också ställa in storleken på rader och kolumner genom att ladda JSON med klassen IWorkbook . Om du behöver ställa in samma radhöjd för alla rader i kalkylbladet kan du göra det genom att använda SetStandardHeight metoden för samlingen ICells . På samma sätt, för att ställa in samma kolumnbredd för alla kolumner i kalkylbladet, använd ICells-samlingens SetStandardWidth metod.
// 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); |
Konvertera JSON-format till POTM med vattenstämpel i C++
Med hjälp av API:t kan du också konvertera JSON till POTM med vattenstämpel. För att lägga till ett vattenmärke till ditt POTM-dokument kan du först analysera JSON till PPTX och lägga till ett vattenmärke till det. För att lägga till en vattenstämpel, ladda den nyskapade PPTX-filen med klassen Presentation , hämta den första bilden, Lägg till en AutoShape av typen Rectangle, lägg till TextFrame till Rectangle, skapa Paragraph-objektet för en textram, skapa Portion-objekt för stycke, lägg till vattenstämpel med set_Text() och kan spara dokumentet till POTM.
// 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); |