Introduktion
Aspose.Slides FOSS for C++ is now available: a free, MIT-licensed library for creating, reading, and editing PowerPoint .pptx filer i ren C++, utan beroende av Microsoft Office eller någon proprietär runtime.
Biblioteket är utformat för utvecklare som behöver generera eller manipulera presentationsfiler programatiskt: automatisera bildspel från data, extrahera text och metadata från uppladdade PPTX-filer, bygga presentationsbaserade rapporteringspipeline, eller bädda in presentationsskapande i skrivbords- och serverapplikationer. Eftersom aspose_slides_foss är byggt med CMake, det kompileras och distribueras på Windows, macOS och Linux.
Nyckelfunktioner
- Full round-trip PPTX-stöd: Öppna vilken
.pptxfil, ändra dess innehåll och spara tillbaka utan att förlora okända XML-delar som biblioteket ännu inte förstår. - Bildhantering: Lägg till, ta bort och iterera bilder med hjälp av
prs.slides(); presentationen startar med en tom bild efter att ha konstruerat enPresentation. - AutoShapes, Tabeller och Anslutningar: Infoga former via
slide.shapes().add_auto_shape(), tabulär data viaslide.shapes().add_table(), och visuella anslutningar mellan former viaslide.shapes().add_connector(). - Rik textformatering: Formatera text på teckennivå med
PortionFormat: teckenstorlek, fetstil, kursiv, understrykning och ARGB-färg viaFillType::SOLIDochColorFormat. - Fylltyper: Tillämpa
FillType::SOLID,Gradient,Pattern, ellerPicturefyller till vilken form som helst. - Visuella effekter: Yttre skugga, glöd, mjuk kant, oskärpa, reflektion och inre skugga via
shape.effect_format(). - 3D formatting: Avfasning, kamera, ljusrigg, material och extruderingsdjup via
shape.three_d_format(). - Talarnoter: Bifoga noteringstext till varje bild via
notes_slide_manager().add_notes_slide(). - Trådade kommentarer: Lägg till kommentarer med författarmetadata och bildposition.
- Inbäddade bilder: Bädda in från filsökväg, minnesbuffert eller ström.
- Dokumentegenskaper: Läs och skriv kärn-, app- och anpassade egenskaper.
Komma igång
Lägg till biblioteket via CMake. En C++17-kompilator krävs.
include(FetchContent)
FetchContent_Declare(
aspose_slides_foss
GIT_REPOSITORY https://github.com/aspose-slides-foss/Aspose.Slides-FOSS-for-Cpp.git
GIT_TAG main
)
FetchContent_MakeAvailable(aspose_slides_foss)
target_link_libraries(your_target PRIVATE aspose_slides_foss)
Skapa din första presentation med en form och spara den:
#include <Aspose/Slides/Foss/presentation.h>
int main() {
using namespace Aspose::Slides::Foss;
Presentation prs;
auto& slide = prs.slides()[0];
auto& shape = slide.shapes().add_auto_shape(
ShapeType::RECTANGLE, 50, 50, 400, 120
);
shape.text_frame()->set_text("Hello from Aspose.Slides FOSS!");
prs.save("hello.pptx", SaveFormat::PPTX);
return 0;
}
Den Presentation destruktorn frigör alla interna resurser automatiskt när den går ur scope.
Exempel på textformatering
#include <Aspose/Slides/Foss/presentation.h>
using namespace Aspose::Slides::Foss;
Presentation prs;
auto& shape = prs.slides()[0].shapes().add_auto_shape(
ShapeType::RECTANGLE, 50, 50, 500, 150
);
shape.text_frame()->set_text("Bold heading in corporate blue");
auto& fmt = shape.text_frame()->paragraphs()[0].portions()[0].portion_format();
fmt.set_font_height(28);
fmt.set_font_bold(NullableBool::TRUE);
fmt.fill_format().set_fill_type(FillType::SOLID);
fmt.fill_format().solid_fill_color().set_color(Color::from_argb(255, 0, 70, 127));
prs.save("formatted.pptx", SaveFormat::PPTX);
Aktuella begränsningar
Följande områden kastar undantag i den här versionen:
- Diagram, SmartArt och OLE-objekt
- Animationer och bildövergångar
- Exportera till PDF, HTML, SVG eller bildformat
- Hyperlänkar, åtgärdsinställningar, VBA-makron och digitala signaturer
Okända XML-delar som påträffas under inläsning bevaras ordagrant vid sparande, så PPTX-filer som skapats av andra verktyg kan round‑tripas säkert.