Aspose.Slides FOSS untuk C++ ialah perpustakaan berlesen MIT untuk bekerja dengan fail .pptx PowerPoint. Integrasikan ia melalui CMake FetchContent dan mulakan serta-merta mencipta, membaca, dan menyunting persembahan tanpa memasang Microsoft Office atau mana-mana runtime proprietari.
Perpustakaan ini mendedahkan API Persembahan yang dibina di sekitar Presentation, Slide, ShapeCollection, TextFrame, Paragraph, dan Portion, model konseptual yang digunakan oleh PowerPoint itu sendiri. Tambah dan buang slaid, sisipkan AutoShapes, Tables, dan Connectors, formatkan teks pada peringkat aksara dengan tebal, condong, saiz fon dan warna, gunakan isian pepejal atau gradien, dan tambahkan kesan visual (bayang, cahaya, kabur, pantulan).
Semantik RAII memastikan pembersihan sumber yang boleh dipercayai: pemusnah Presentation melepaskan semua keadaan dalaman secara automatik. Bahagian XML yang tidak diketahui yang ditemui semasa pemuatan dipelihara secara verbatim semasa penyimpanan, jadi pusingan semula tidak pernah memusnahkan kandungan yang belum difahami oleh perpustakaan. Perpustakaan memerlukan pemalam yang mematuhi C++20. Untuk ciri tambahan, lihat Aspose.Slides for C++ enterprise edition.
.pptx sedia ada melalui Presentation() atau Presentation(path).SlideCollection dengan add_empty_slide(), remove(), dan remove_at().ShapeType lain melalui add_auto_shape().add_connector().NotesSlideManager.pres.comment_authors() dan ulasan yang berkaitan.Portion individu melalui PortionFormat.FillFormat dan FillType.EffectFormat.ParagraphFormat dan set_alignment().Aspose.Slides FOSS mengintegrasikan melalui CMake FetchContent, jadi tidak perlu muat turun manual atau pemasangan pada seluruh sistem. Perpustakaan dibina dari sumber bersama projek anda.
API mencerminkan model objek PowerPoint sendiri (Presentation, Slide, ShapeCollection, TextFrame, Paragraph, Portion), jadi sesiapa yang biasa dengan model objek PowerPoint boleh menggunakan perpustakaan ini serta-merta. Ia berlesen MIT, sumber terbuka di GitHub, dan memerlukan kompiler yang mematuhi C++20.
RAII memastikan pemusnah Presentation melepaskan semua sumber secara automatik apabila objek keluar dari skop. add_auto_shape() mengambil enum ShapeType, kemudian kedudukan x/y dan lebar/tinggi dalam titik — ciri text_frame bentuk menyediakan akses untuk menetapkan kandungan 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 berfungsi pada peringkat Portion — unit terkecil bagi satu rentetan aksara. Buka fail yang disimpan, navigasi ke bahagian pertama perenggan pertama, dan tetapkan sifat fon secara langsung. Isian bentuk adalah bebas: tetapkan jenis isian kepada pepejal dan berikan 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;
}
Ia adalah perpustakaan C++ percuma, berlesen MIT, untuk mencipta, membaca, dan menyunting persembahan PowerPoint .pptx tanpa memerlukan Microsoft Office.
.pptx ialah format baca/tulis yang disokong. Mengeksport ke PDF, HTML, SVG, atau imej tidak tersedia dalam edisi ini.
Tidak. Aspose.Slides FOSS ialah perpustakaan C++ berdiri sendiri tanpa kebergantungan pada Microsoft Office, automasi COM, atau mana-mana runtime proprietari.
Gunakan CMake FetchContent untuk mengintegrasikan perpustakaan secara langsung dari GitHub. Perpustakaan memerlukan pemalam yang mematuhi C++20.
Ya. Perpustakaan menyokong kesan bayang luar, cahaya, kabur, dan pantulan pada mana-mana objek bentuk melalui API EffectFormat.
Ya. Penghancur Presentation melepaskan semua keadaan dalaman secara automatik, jadi tiada pembersihan eksplisit diperlukan.
Tidak. Bahagian XML yang tidak diketahui yang ditemui semasa pemuatan dipelihara secara tepat pada penyimpanan, jadi kandungan yang belum difahami oleh perpustakaan tidak pernah hilang.
Perpustakaan ini berlesen MIT dan dihoskan di GitHub. Laporan pepijat dan permintaan tarik dialu-alukan.