Pengantar

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 proprietary.

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

Fitur Utama

  • Dukungan PPTX lengkap pulang-pergi:Buka apapun. .pptx file, memodifikasi isinya, dan menyimpannya kembali tanpa kehilangan bagian XML yang tidak diketahui bahwa perpustakaan belum mengerti.
  • Pengelolaan slaid: Tambahkan, hapus, dan iterasi slide menggunakan prs.slides(); presentasi dimulai dengan satu slide kosong setelah membangun sebuah Presentation.
  • AutoShapes, Tabel, dan Konektor:Masukkan bentuk melalui: slide.shapes().add_auto_shape(), data tabel melalui slide.shapes().add_table(), dan konektor visual antara bentuk melalui slide.shapes().add_connector().
  • Format teks yang kaya: Format teks pada tingkat karakter dengan: PortionFormat: ukuran font, tebal, kursif, garis bawah, dan warna ARGB melalui FillType::SOLID dan (b) ColorFormat.
  • Jenis isian: Menerapkan FillType::SOLID, FillType::GRADIENT, FillType::PATTERN, atau FillType::PICTURE mengisi bentuk apapun.
  • Efek visual: Bayangan luar, cahaya, tepi lembut, kabur, refleksi dan bayangan dalam melalui shape.effect_format().
  • 3D formatting: Bevel, kamera, rig cahaya, bahan dan kedalaman ekstrusi melalui shape.three_d_format().
  • Catatan pembicara: Menambahkan catatan teks ke setiap slide via notes_slide_manager().add_notes_slide().
  • Komentar yang ditandai dengan thread: Tambahkan komentar dengan metadata penulis dan posisi slide.
  • Gambar tertanam: Masuk dari jalur file, buffer memori, atau stream.
  • Sifat dokumen: Membaca dan menulis inti, aplikasi, dan properti kustom.

Memulai

Tambahkan perpustakaan melalui CMake. C ++ 20 compiler 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 bentuk dan simpan:

#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() {
    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;
}

Pengelolaan Presentation destruktor melepaskan semua sumber daya internal secara otomatis ketika keluar dari jangkauan.

Contoh Format Teks

#include <Aspose/Slides/Foss/auto_shape.h>
#include <Aspose/Slides/Foss/drawing/color.h>
#include <Aspose/Slides/Foss/export/save_format.h>
#include <Aspose/Slides/Foss/fill_format.h>
#include <Aspose/Slides/Foss/fill_type.h>
#include <Aspose/Slides/Foss/nullable_bool.h>
#include <Aspose/Slides/Foss/paragraph.h>
#include <Aspose/Slides/Foss/paragraph_collection.h>
#include <Aspose/Slides/Foss/portion.h>
#include <Aspose/Slides/Foss/portion_collection.h>
#include <Aspose/Slides/Foss/portion_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>

using namespace Aspose::Slides::Foss;
using namespace Aspose::Slides::Foss::Drawing;

int main() {
    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);
    return 0;
}

Batas Saat Ini

Daerah-daerah berikut tidak tersedia dalam edisi ini:

  • Grafik, SmartArt, dan objek OLE
  • Animasi dan transisi slide
  • Ekspor ke format PDF, HTML, SVG, atau gambar
  • Hyperlink, pengaturan tindakan, makro VBA, dan tanda tangan digital

Bagian XML yang tidak diketahui yang ditemukan selama loading dilestarikan secara harfiah pada save, sehingga file PPTX yang diproduksi oleh alat lain berjalan dengan aman.

Lihat Juga