Sie können JSON in jeder C++-Anwendung in zwei einfachen Schritten in ODP konvertieren. Erstens können Sie mit Aspose.Cells for C++ JSON in PPTX parsen. Danach können Sie mit Aspose.Slides for C++ PPTX in ODP konvertieren. Beide APIs befinden sich im Paket Aspose.Total for C++ .
Konvertieren Sie das JSON-Format über C++ in ODP
- Erstellen Sie ein neues IWorkbook -Objekt und lesen Sie gültige JSON-Daten aus der Datei
- Speichern Sie JSON als PPTX mit der Methode Save .
- Laden Sie das PPTX-Dokument mithilfe der Klasse Presentation .
- Speichern Sie das Dokument im ODP-Format mit der Methode Save .
Konvertierungsanforderungen
Installieren Sie über die Package Manager Console von Visual Studio mit Install-Package Aspose.Total.Cpp
.
Alternativ können Sie das Offline-MSI-Installationsprogramm oder DLLs in einer ZIP-Datei von downloads herunterladen.
// 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); |
Legen Sie das Layout fest und konvertieren Sie das JSON-Format über C++ in ODP
Beim Analysieren von JSON zu ODP können Sie auch die Größe von Zeilen und Spalten festlegen, indem Sie JSON mit der Klasse IWorkbook laden. Wenn Sie dieselbe Zeilenhöhe für alle Zeilen im Arbeitsblatt festlegen müssen, können Sie dies tun, indem Sie SetStandardHeight -Methode der Sammlung ICells . Um dieselbe Spaltenbreite für alle Spalten im Arbeitsblatt festzulegen, verwenden Sie die Methode SetStandardWidth der ICells-Sammlung.
// 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); |
Konvertieren Sie das JSON-Format in ODP mit Wasserzeichen in C++
Mit der API können Sie auch JSON in ODP mit Wasserzeichen konvertieren. Um Ihrem ODP-Dokument ein Wasserzeichen hinzuzufügen, können Sie zuerst JSON in PPTX parsen und ein Wasserzeichen hinzufügen. Um ein Wasserzeichen hinzuzufügen, laden Sie die neu erstellte PPTX-Datei mit der Klasse Presentation , rufen Sie die erste Folie ab, fügen Sie eine hinzu AutoShape vom Typ Rectangle, fügen Sie TextFrame zum Rectangle hinzu, erstellen Sie das Paragraph-Objekt für einen Textrahmen, erstellen Sie das Portion-Objekt für den Absatz, fügen Sie Wasserzeichen mit set_Text() hinzu und speichern Sie das Dokument im ODP.
// 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); |