Pengenalan
Aspose.Slides FOSS for C++ is now available: a free, MIT-licensed library for creating, reading, and editing PowerPoint .pptx fail dalam C++ asli, tanpa kebergantungan pada Microsoft Office atau mana-mana runtime proprietari.
Perpustakaan ini direka untuk pembangun yang perlu menjana atau memanipulasi fail persembahan secara programatik: mengautomasi dek slaid daripada data, mengekstrak teks dan metadata daripada fail PPTX yang dimuat naik, membina paip laporan berasaskan persembahan, atau menyematkan penciptaan persembahan ke dalam aplikasi desktop dan pelayan. Kerana aspose_slides_foss dibina dengan CMake, ia mengkompil dan menyebarkan pada Windows, macOS, dan Linux.
Ciri-ciri Utama
- Sokongan PPTX pusingan penuh: Buka mana-mana
.pptxfail, ubah kandungannya, dan simpan semula tanpa kehilangan bahagian XML yang tidak diketahui yang belum difahami oleh perpustakaan. - Pengurusan slaid: Tambah, buang, dan ulang slaid menggunakan
prs.slides(); persembahan bermula dengan satu slaid kosong selepas membina sebuahPresentation. - AutoShapes, Jadual, dan Penyambung: Sisipkan bentuk melalui
slide.shapes().add_auto_shape(), data tabular melaluislide.shapes().add_table(), dan penyambung visual antara bentuk melaluislide.shapes().add_connector(). - Pemformatan teks kaya: Format teks pada peringkat aksara dengan
PortionFormat: saiz fon, tebal, condong, garis bawah, dan warna ARGB melaluiFillType::SOLIDdanColorFormat. - Jenis isian: Terapkan
FillType::SOLID,Gradient,Pattern, atauPicturemengisi ke sebarang bentuk. - Kesan visual: Bayang luar, cahaya, tepi lembut, kabur, pantulan, dan bayang dalam melalui
shape.effect_format(). - 3D formatting: Bevel, kamera, rig cahaya, bahan, dan kedalaman ekstrusi melalui
shape.three_d_format(). - Nota pembicara: Lampirkan teks nota ke setiap slaid melalui
notes_slide_manager().add_notes_slide(). - Komen berutas: Tambah komen dengan metadata pengarang dan kedudukan slaid.
- Imej terbenam: Benamkan dari laluan fail, penampan memori, atau aliran.
- Sifat dokumen: Baca dan tulis sifat teras, aplikasi, dan khusus.
Mula Menggunakan
Tambah pustaka melalui CMake. Kompilator C++17 diperlukan.
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)
Cipta persembahan pertama anda dengan satu bentuk dan simpan ia:
#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;
}
The Presentation destructor melepaskan semua sumber dalaman secara automatik apabila ia keluar dari skop.
Contoh Pemformatan Teks
#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);
Keterbatasan Semasa
Kawasan berikut membuang pengecualian dalam keluaran ini:
- Carta, SmartArt, dan objek OLE
- Animasi dan peralihan slaid
- Eksport ke PDF, HTML, SVG, atau format imej
- Pautan hiper, tetapan tindakan, makro VBA, dan tandatangan digital
Bahagian XML yang tidak diketahui yang ditemui semasa pemuatan dipelihara secara verbatim semasa penyimpanan, jadi fail PPTX yang dihasilkan oleh alat lain dapat melakukan pusingan balik dengan selamat.