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

Aspose.Slides FOSS untuk C++

Buat, baca, dan edit presentasi PowerPoint dari C++ — gratis dan sumber terbuka, tidak memerlukan ketergantungan Office.

Perpustakaan C++ Open-Source untuk Presentasi PowerPoint

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, Tabel, dan Connector, format teks pada tingkat karakter dengan tebal, miring, ukuran font, dan warna, terapkan isian solid atau gradien, serta tambahkan efek visual (bayangan, cahaya, blur, refleksi).

Semantik RAII memastikan pembersihan sumber daya yang dapat diandalkan: destruktor Presentation melepaskan semua keadaan internal secara otomatis. Bagian XML yang tidak dikenal yang ditemui saat memuat dipertahankan persis saat disimpan, sehingga proses round‑trip tidak pernah menghancurkan konten yang belum dipahami oleh perpustakaan. Perpustakaan ini memerlukan kompiler yang mendukung C++17.

API Presentasi dan Slide

  • Buat dan buka PPTX: Buat presentasi baru atau buka file .pptx yang sudah ada melalui Presentation() atau Presentation(path).
  • Tambah dan hapus slide: Kelola SlideCollection secara programatik dengan add_clone(), remove(), dan remove_at().
  • AutoShapes: Sisipkan persegi panjang, elips, garis, dan geometri ShapeType lainnya melalui add_auto_shape().
  • Tabel dan Connector: Tambahkan bentuk tabel terstruktur dan garis connector antar bentuk melalui add_connector().
  • Catatan pembicara: Baca dan tulis catatan pembicara per slide melalui NotesSlideManager.
  • Komentar berulir: Akses thread komentar pada tingkat slide dengan get_slide_comments().

Di mana Aspose.Slides FOSS Dapat Digunakan

  • Pembuatan laporan: Bangun deck slide bermerk dari sumber data tanpa Office.
  • Otomasi templat: Isi templat PPTX dengan konten dinamis dalam pipeline CI/CD.
  • Migrasi konten: Baca presentasi yang ada dan restrukturisasi atau ubah gaya slide.
  • Sistem tertanam: Proses file PPTX dalam lingkungan yang kritis terhadap kinerja atau terbatas sumber dayanya.
  • Pemrosesan batch: Terapkan perubahan format seragam pada perpustakaan deck slide yang besar.

Pemformatan Teks dan Efek Visual

  • Pemformatan tingkat karakter: Terapkan tebal, miring, ukuran font, dan warna pada objek Portion individu melalui PortionFormat.
  • Isian solid dan gradien: Atur isian bentuk menjadi warna solid atau gradien linear multi‑stop menggunakan FillFormat dan FillType.
  • Efek bayangan dan cahaya: Terapkan bayangan luar, cahaya, blur, dan refleksi pada bentuk apa pun melalui EffectFormat.
  • Perataan paragraf: Atur perataan kiri, tengah, kanan, atau justify per paragraf menggunakan ParagraphFormat dan set_alignment().
  • Aman untuk round‑trip: Bagian XML yang tidak dikenal dipertahankan persis saat disimpan kembali.

Pengalaman Pengembang

Aspose.Slides FOSS terintegrasi melalui CMake FetchContent, sehingga tidak diperlukan unduhan manual atau instalasi sistem secara keseluruhan. Perpustakaan dibangun dari sumber bersama proyek Anda.

API mencerminkan model objek PowerPoint sendiri (Presentation, Slide, ShapeCollection, TextFrame, Paragraph, Portion), sehingga siapa pun yang familiar dengan model objek PowerPoint dapat langsung menggunakan perpustakaan ini. Ini berlisensi MIT, sumber terbuka di GitHub, dan memerlukan kompiler yang mendukung C++17.

Buat Presentasi dan Tambahkan Bentuk

RAII memastikan destruktor Presentation melepaskan semua sumber daya secara otomatis ketika objek keluar dari ruang lingkup. add_auto_shape() menerima enum ShapeType, kemudian posisi x/y dan lebar/tinggi dalam poin — text_frame pada shape 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];

    // Tambahkan AutoShape persegi panjang
    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;
}

Format Teks dan Terapkan Efek Isi

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. Isian bentuk bersifat independen: atur tipe isian 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];

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

    // Pengisian latar belakang padat pada bentuk
    shape.fill_format().set_fill_type(asf::FillType::SOLID);

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

Pertanyaan yang Sering Diajukan

Apa itu Aspose.Slides FOSS untuk C++?

Ini adalah pustaka C++ gratis berlisensi MIT untuk membuat, membaca, dan mengedit presentasi PowerPoint .pptx tanpa memerlukan Microsoft Office.

Format file apa yang didukung?

PPTX adalah format baca/tulis yang didukung. Ekspor ke PDF, HTML, SVG, atau gambar tidak tersedia dalam edisi ini.

Apakah ini memerlukan Microsoft Office atau PowerPoint?

Tidak. Aspose.Slides FOSS adalah pustaka C++ mandiri tanpa ketergantungan pada Microsoft Office, otomatisasi COM, atau runtime proprietari mana pun.

Bagaimana cara menginstalnya?

Gunakan CMake FetchContent untuk mengintegrasikan pustaka langsung dari GitHub. Pustaka ini memerlukan kompiler yang mematuhi C++17.

Bisakah saya menerapkan efek visual seperti bayangan dan cahaya?

Ya. Perpustakaan mendukung efek outer shadow, glow, blur, dan reflection pada objek bentuk apa pun melalui API EffectFormat.

Apakah perpustakaan ini menggunakan RAII untuk manajemen sumber daya?

Ya. Destructor Presentation melepaskan semua status internal secara otomatis, sehingga tidak diperlukan pembersihan eksplisit.

Apakah melakukan round‑tripping pada PPTX akan menghancurkan konten yang tidak diketahui?

Tidak. Bagian XML yang tidak diketahui yang ditemui selama pemuatan dipertahankan persis saat disimpan, sehingga konten yang belum dipahami oleh pustaka tidak pernah hilang.

Di mana saya dapat menemukan kode sumber?

Perpustakaan ini berlisensi MIT dan dihosting di GitHub. Laporan bug dan pull request dipersilakan.

  

Sumber Daya Dukungan dan Pembelajaran

 Bahasa Indonesia