Pendahuluan

Aspose.Slides FOSS for C++ is now available: a free, MIT-licensed library for creating, reading, and editing PowerPoint .pptx file dalam C++ asli, tanpa ketergantungan pada Microsoft Office atau runtime proprietari apa pun.

Perpustakaan ini dirancang untuk pengembang yang perlu menghasilkan atau memanipulasi file presentasi secara programatis: mengotomatisasi deck slide dari data, mengekstrak teks dan metadata dari file PPTX yang diunggah, membangun pipeline pelaporan berbasis presentasi, atau menyematkan pembuatan presentasi ke dalam aplikasi desktop dan server. Karena aspose_slides_foss dibangun dengan CMake, ia mengkompilasi dan menyebarkan di Windows, macOS, dan Linux.

Fitur Utama

  • Dukungan PPTX round-trip penuh: Buka apa saja .pptx file, ubah isinya, dan simpan kembali tanpa kehilangan bagian XML yang tidak dikenal yang belum dipahami oleh perpustakaan.
  • Manajemen slide: Tambah, hapus, dan iterasi slide menggunakan prs.slides(); presentasi dimulai dengan satu slide kosong setelah membuat sebuah Presentation.
  • AutoShapes, Tabel, dan Penghubung: Sisipkan bentuk melalui slide.shapes().add_auto_shape(), data tabel melalui slide.shapes().add_table(), dan penghubung visual antar bentuk melalui slide.shapes().add_connector().
  • Pemformatan teks kaya: Format teks pada tingkat karakter dengan PortionFormat: ukuran font, tebal, miring, garis bawah, dan warna ARGB melalui FillType::SOLID dan ColorFormat.
  • Jenis isi: Terapkan FillType::SOLID, Gradient, Pattern, atau Picture mengisi ke bentuk apa pun.
  • Efek visual: Bayangan luar, cahaya, tepi lembut, blur, refleksi, dan bayangan dalam melalui shape.effect_format().
  • 3D formatting: Bevel, kamera, rig cahaya, material, dan kedalaman ekstrusi melalui shape.three_d_format().
  • Catatan pembicara: Lampirkan teks catatan ke setiap slide melalui notes_slide_manager().add_notes_slide().
  • Komentar berutas: Tambahkan komentar dengan metadata penulis dan posisi slide.
  • Gambar tersemat: Sematkan dari jalur file, buffer memori, atau aliran.
  • Properti dokumen: Baca dan tulis properti inti, aplikasi, dan khusus.

Memulai

Tambahkan pustaka melalui CMake. Compiler 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)

Buat presentasi pertama Anda dengan sebuah bentuk dan simpan:

#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 destruktor melepaskan semua sumber daya internal secara otomatis ketika keluar dari ruang lingkup.

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);

Batasan Saat Ini

Area berikut melemparkan pengecualian dalam rilis ini:

  • Diagram, SmartArt, dan objek OLE
  • Animasi dan transisi slide
  • Ekspor ke PDF, HTML, SVG, atau format gambar
  • Tautan hiper, pengaturan aksi, makro VBA, dan tanda tangan digital

Bagian XML yang tidak dikenal yang ditemui selama pemuatan dipertahankan persis saat disimpan, sehingga file PPTX yang dihasilkan oleh alat lain dapat diproses kembali dengan aman.

Lihat Juga