1. Products
  2.   Aspose.Slides
  3.   Aspose.Slides FOSS for C++

Aspose.Slides FOSS priekš C++

Izveidojiet, lasiet un rediģējiet PowerPoint prezentācijas no C++ — bezmaksas un atvērtā koda, nav nepieciešama Office atkarība.

Atvērtā koda C++ bibliotēka PowerPoint prezentācijām

Aspose.Slides FOSS for C++ ir MIT licencēta bibliotēka darbam ar PowerPoint .pptx failiem. Integrējiet to, izmantojot CMake FetchContent, un uzreiz sāciet veidot, lasīt un rediģēt prezentācijas, neinstalējot Microsoft Office vai kādu proprietāru izpildlaiku.

Bibliotēka nodrošina Presentation API, kas balstīts uz Presentation, Slide, ShapeCollection, TextFrame, Paragraph un Portion, konceptuālo modeli, ko izmanto pats PowerPoint. Pievienojiet un noņemiet slaidus, ievietojiet AutoShapes, Tables un Connectors, formatējiet tekstu rakstzīmju līmenī, izmantojot treknrakstu, slīprakstu, fonta lielumu un krāsu, piemērojiet vienkāršus vai gradienta aizpildījumus un pievienojiet vizuālos efektus (ēna, spīdums, izplūdums, atspoguļojums).

RAII semantika nodrošina uzticamu resursu attīrīšanu: Presentation destruktors automātiski atbrīvo visu iekšējo stāvokli. Nezināmi XML daļas, kas sastaptas ielādē, tiek saglabātas burtiski, tāpēc apgrieztā apstrāde nekad neiznīcina saturu, ko bibliotēka vēl nesaprot. Bibliotēkai ir nepieciešams C++20‑savietojams kompilators. Papildu funkcijām skatiet Aspose.Slides for C++ enterprise edition.

Prezentāciju un slaidu API

  • Create and open PPTX: Izveidojiet jaunas prezentācijas vai atveriet esošas .pptx datnes, izmantojot Presentation() vai Presentation(path).
  • Pievienot un noņemt slaidus: Programmatiski pārvaldiet SlideCollection ar add_empty_slide(), remove() un remove_at().
  • AutoShapes: Ievietojiet taisnstūrus, elipses, līnijas un citas ShapeType ģeometrijas, izmantojot add_auto_shape().
  • Tabulas un savienotāji: Pievienojiet strukturētas tabulu formas un savienojuma līnijas starp formām, izmantojot add_connector().
  • Runas piezīmes: Lasīt un rakstīt katras slaida runas piezīmes, izmantojot NotesSlideManager.
  • Vītnes komentāri: Piekļūst komentāru pavedieniem, iterējot pres.comment_authors() un to saistītos komentārus.

Kur Aspose.Slides FOSS var izmantot

  • Report generation: Izveidojiet zīmola slaidu komplektus no datu avotiem bez Office.
  • Veidņu automatizācija: Aizpildiet PPTX veidnes ar dinamisku saturu CI/CD cauruļvados.
  • Content migration: Izlasiet esošās prezentācijas un pārstrukturējiet vai pārveidojiet slaidus.
  • Iegultās sistēmas: Apstrādājiet PPTX failus veiktspējas kritiskos vai resursu ierobežotos vidēs.
  • Masveida apstrāde: Pielietojiet vienotas formatēšanas izmaiņas lielām slaidu komplektu bibliotēkām.

Teksta formatēšana un vizuālie efekti

  • Character-level formatting: Pielietojiet treknrakstu, slīprakstu, fonta lielumu un krāsu individuāliem Portion objektiem, izmantojot PortionFormat.
  • Viendabīgi un gradienta aizpildījumi: Iestatiet formas aizpildījumu uz viendabīgu krāsu vai daudzpakāpju lineāru gradientu, izmantojot FillFormat un FillType.
  • Ēnas un spīduma efekti: Pielietojiet ārējo ēnu, spīdumu, izpludināšanu un atspoguļojumu jebkuram objektam, izmantojot EffectFormat.
  • Rindkopas izlīdzināšana: Iestatiet kreiso, centrēto, labo vai izlīdzināto (justify) izlīdzinājumu katrai rindkopai, izmantojot ParagraphFormat un set_alignment().
  • Round-trip safe: Nezināmas XML daļas tiek saglabātas burtiski atkārtotā saglabāšanas laikā.

Izstrādātāja pieredze

Aspose.Slides FOSS integrējas caur CMake FetchContent, tāpēc nav nepieciešama manuāla lejupielāde vai sistēmas līmeņa instalācija. Bibliotēka tiek būvēta no avota kopā ar jūsu projektu.

API atspoguļo PowerPoint paša objektu modeli (Presentation, Slide, ShapeCollection, TextFrame, Paragraph, Portion), tāpēc ikviens, kas pazīst ar PowerPoint objektu modeli, var uzreiz izmantot bibliotēku. Tā ir licencēta ar MIT, atvērta pirmkods uz GitHub, un tai ir nepieciešams C++20 atbilstošs kompilators.

Izveidojiet prezentāciju un pievienojiet formu

RAII nodrošina, ka Presentation destruktors automātiski atbrīvo visus resursus, kad objekts iziet no darbības tvēruma. add_auto_shape() pieņem ShapeType enum, tad x/y pozīciju un platumu/augstumu punktos — formas text_frame nodrošina piekļuvi teksta satura iestatīšanai.

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)
#include <Aspose/Slides/Foss/auto_shape.h>
#include <Aspose/Slides/Foss/export/save_format.h>
#include <Aspose/Slides/Foss/presentation.h>
#include <Aspose/Slides/Foss/shape_collection.h>
#include <Aspose/Slides/Foss/shape_type.h>
#include <Aspose/Slides/Foss/slide.h>
#include <Aspose/Slides/Foss/slide_collection.h>
#include <Aspose/Slides/Foss/text_frame.h>

int main() {
    Aspose::Slides::Foss::Presentation prs;
    auto& slide = prs.slides()[0];

    // Add a rectangle AutoShape
    auto& shape = slide.shapes().add_auto_shape(
        Aspose::Slides::Foss::ShapeType::RECTANGLE,
        50, 50, 400, 150
    );
    shape.text_frame()->set_text("Hello, Aspose.Slides!");

    prs.save("output.pptx", Aspose::Slides::Foss::SaveFormat::PPTX);
    return 0;
}
 ```cmake
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)
 

Formatēt tekstu un piemērot aizpildījuma efektu

Teksta formatēšana darbojas Portion līmenī — mazākā rakstzīmju virknes vienība. Atveriet saglabāto failu, pārejiet uz pirmo pirmā rindkopas daļu un iestatiet fonta īpašības tieši. Formas aizpildījums ir neatkarīgs: iestatiet aizpildījuma veidu uz cietu un piešķiriet krāsu.

#include <Aspose/Slides/Foss/presentation.h>

namespace asf = Aspose::Slides::Foss;

int main() {
    asf::Presentation prs("output.pptx");
    auto& shape = prs.slides()[0].shapes()[0];
    auto& portion = shape.text_frame()
        ->paragraphs()[0].portions()[0];

    // Bold, 18pt text
    portion.portion_format().set_font_bold(asf::NullableBool::TRUE);
    portion.portion_format().set_font_height(18);

    // Solid background fill on the shape
    shape.fill_format().set_fill_type(asf::FillType::SOLID);

    prs.save("formatted.pptx", asf::SaveFormat::PPTX);
    return 0;
}
 ```cpp
#include <Aspose/Slides/Foss/presentation.h>

namespace asf = Aspose::Slides::Foss;

int main() {
    asf::Presentation prs("output.pptx");
    auto& shape = prs.slides()[0].shapes()[0];
    auto& portion = shape.text_frame()
        ->paragraphs()[0].portions()[0];

    // Bold, 18pt text
    portion.portion_format().set_font_bold(asf::NullableBool::TRUE);
    portion.portion_format().set_font_height(18);

    // Solid background fill on the shape
    shape.fill_format().set_fill_type(asf::FillType::SOLID);

    prs.save("formatted.pptx", asf::SaveFormat::PPTX);
    return 0;
}
 

Frequently Asked Questions

Kas ir Aspose.Slides FOSS priekš C++?

Tas ir bezmaksas, MIT licencēts C++ bibliotēka, kas ļauj izveidot, lasīt un rediģēt PowerPoint .pptx prezentācijas, neprasot Microsoft Office.

Kuri failu formāti tiek atbalstīti?

.pptx ir atbalstīts lasīšanas/rakstīšanas formāts. Eksportēšana uz PDF, HTML, SVG vai attēliem nav pieejama šajā izdevumā.

Vai tas prasa Microsoft Office vai PowerPoint?

Nē. Aspose.Slides FOSS ir neatkarīga C++ bibliotēka, kas neietekmē Microsoft Office, COM automatizāciju vai kādu īpašu izpildlaiku.

Kā to instalēt?

Izmantojiet CMake FetchContent, lai integrētu bibliotēku tieši no GitHub. Bibliotēkai ir nepieciešams C++20 saderīgs kompilators.

Vai es varu piemērot vizuālus efektus, piemēram, ēnu un spīdumu?

Jā. Bibliotēka atbalsta ārējo ēnu, spīdumu, izpludināšanu un atspoguļošanas efektus uz jebkura formas objekta, izmantojot EffectFormat API.

Vai bibliotēka izmanto RAII resursu pārvaldībai?

Jā. Presentation destruktors automātiski atbrīvo visu iekšējo stāvokli, tāpēc nav vajadzīga izteikta tīrīšana.

Vai PPTX round-tripping iznīcinās nezināmu saturu?

Nē. Nezinātas XML daļas, kas sastaptas ielādes laikā, tiek saglabātas precīzi saglabāšanas brīdī, tāpēc saturs, ko bibliotēka vēl nesaprot, nekad netiek zaudēts.

Kur es varu atrast pirmkodu?

Bibliotēka ir licencēta ar MIT licenci un tiek mitināta GitHub. Kļūdu ziņojumi un pull requests ir laipni gaidīti.

  

Support and Learning Resources

 Latviešu