Aspose.Slides FOSS untuk C++ adalah perpustakaan berlisensi MIT untuk bekerja dengan file PowerPoint .pptx. Integrasikan melalui CMake FetchContent dan segera mulai membuat, membaca, dan mengedit presentasi tanpa menginstal Microsoft Office atau runtime proprietari apa pun.
Perpustakaan ini menyediakan API Presentasi yang dibangun di sekitar Presentation, Slide, ShapeCollection, TextFrame, Paragraph, dan Portion, model konseptual yang digunakan oleh PowerPoint itu sendiri. Tambahkan dan hapus slide, sisipkan AutoShapes, Tables, dan Connectors, format teks pada tingkat karakter dengan bold, italic, ukuran font dan warna, terapkan isian solid atau gradient, dan tambahkan efek visual (shadow, glow, blur, reflection).
Semantik RAII memastikan pembersihan sumber daya yang dapat diandalkan: destruktor Presentation melepaskan semua status internal secara otomatis. Bagian XML yang tidak dikenal yang ditemui selama pemuatan dipertahankan secara verbatim saat disimpan, sehingga proses round-tripping tidak pernah menghancurkan konten yang belum dipahami oleh perpustakaan. Perpustakaan memerlukan kompiler yang mematuhi C++20. Untuk fitur tambahan, lihat Aspose.Slides for C++ enterprise edition.
.pptx yang ada melalui Presentation() atau Presentation(path).SlideCollection secara programatis dengan add_empty_slide(), remove(), dan remove_at().ShapeType lainnya melalui add_auto_shape().add_connector().NotesSlideManager.pres.comment_authors() dan komentar yang terkait.Portion individual melalui PortionFormat.FillFormat dan FillType.EffectFormat.ParagraphFormat dan set_alignment().Aspose.Slides FOSS terintegrasi melalui CMake FetchContent, sehingga tidak perlu mengunduh secara manual atau instalasi di seluruh sistem. Perpustakaan dibangun dari sumber bersama proyek Anda.
API mencerminkan model objek PowerPoint (Presentation, Slide, ShapeCollection, TextFrame, Paragraph, Portion), sehingga siapa pun yang familiar dengan model objek PowerPoint dapat langsung menggunakan perpustakaan ini. Ini berlisensi MIT, open-source di GitHub, dan memerlukan C++20-compliant compiler.
RAII memastikan destruktor Presentation melepaskan semua sumber daya secara otomatis ketika objek keluar dari ruang lingkup. add_auto_shape() mengambil enum ShapeType, kemudian posisi x/y dan lebar/tinggi dalam poin — shape’s text_frame menyediakan akses untuk mengatur konten teks.
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)
Pemformatan teks bekerja pada tingkat Portion — unit terkecil dari rangkaian karakter. Buka file yang disimpan, navigasikan ke bagian pertama dari paragraf pertama, dan atur properti font secara langsung. Isi bentuk bersifat independen: atur tipe isi menjadi solid dan tetapkan warna.
#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;
}
Ini adalah perpustakaan C++ gratis dengan lisensi MIT untuk membuat, membaca, dan mengedit presentasi PowerPoint .pptx tanpa memerlukan Microsoft Office.
.pptx adalah format baca/tulis yang didukung. Ekspor ke PDF, HTML, SVG, atau gambar tidak tersedia dalam edisi ini.
Tidak. Aspose.Slides FOSS adalah perpustakaan C++ mandiri yang tidak bergantung pada Microsoft Office, otomatisasi COM, atau runtime proprietari apa pun.
Gunakan CMake FetchContent untuk mengintegrasikan perpustakaan langsung dari GitHub. Perpustakaan ini memerlukan kompiler yang mematuhi C++20.
Ya. Perpustakaan ini mendukung efek bayangan luar, cahaya, blur, dan refleksi pada objek bentuk apa pun melalui API EffectFormat.
Ya. Destructor Presentation melepaskan semua status internal secara otomatis, sehingga tidak diperlukan pembersihan eksplisit.
Tidak. Bagian XML yang tidak dikenal yang ditemui selama pemuatan dipertahankan persis saat disimpan, sehingga konten yang belum dipahami perpustakaan tidak pernah hilang.
Perpustakaan ini berlisensi MIT dan dihosting di GitHub. Laporan bug dan pull request dipersilakan.