איך עושים עם FOSS ב-C++?

איך עושים עם FOSS ב-C++?

aspose_slides_foss for C++ adalah perpustakaan bebas, berlisensi MIT untuk membuat dan mengedit file PowerPoint ̋.pptx⌒ tanpa Microsoft Office yang diperlukan, dibangun dengan CMake .

Panduan Langkah demi Langkah

(pemegang tempat)

Langkah 1: Tambahkan Perpustakaan melalui CMake

Tambahkan aspose_slides_foss ke CMakeLists.txt` (perlu kompilator C++20):

cmake_minimum_required(VERSION 3.20)
project(MyProject)

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)

add_executable(my_app main.cpp)
target_link_libraries(my_app PRIVATE aspose_slides_foss)

Langkah 2: Sertakan Judul yang Diperlukan

Sertakan header untuk kelas yang Anda butuhkan:

#include <Aspose/Slides/Foss/presentation.h>
#include <Aspose/Slides/Foss/auto_shape.h>
#include <Aspose/Slides/Foss/shape_type.h>
#include <Aspose/Slides/Foss/text_frame.h>
#include <Aspose/Slides/Foss/export/save_format.h>

Langkah 3: Buatlah Presentasi

Membangun Presentation untuk memulai dengan satu slide kosong, lalu menyimpannya:

#include <Aspose/Slides/Foss/presentation.h>
#include <Aspose/Slides/Foss/export/save_format.h>

using namespace Aspose::Slides::Foss;

int main() {
    Presentation prs;
    prs.save("new_presentation.pptx", SaveFormat::PPTX);
    return 0;
}

Langkah 4: Tambahkan bentuk dengan teks

Gunakan `slide.shapes().add_auto_shape (() ∀ untuk memasukkan persegi panjang, lalu panggil ̋text_frame (), kemudian hubungi ∂set_text ()) ≠ untuk menambahkan konten teks:

#include <Aspose/Slides/Foss/auto_shape.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>
#include <Aspose/Slides/Foss/export/save_format.h>

using namespace Aspose::Slides::Foss;

int main() {
    Presentation prs;
    auto& slide = prs.slides()[0];
    auto& shape = slide.shapes().add_auto_shape(
        ShapeType::RECTANGLE, 50, 50, 400, 150
    );
    shape.text_frame()->set_text("Hello from Aspose.Slides FOSS!");
    prs.save("with_shape.pptx", SaveFormat::PPTX);
    return 0;
}

Langkah 5: Pasang Isi dan Simpan

Tetapkan warna isi padat pada bentuk sebelum menyimpan:

#include <Aspose/Slides/Foss/auto_shape.h>
#include <Aspose/Slides/Foss/fill_format.h>
#include <Aspose/Slides/Foss/fill_type.h>
#include <Aspose/Slides/Foss/presentation.h>
#include <Aspose/Slides/Foss/shape_type.h>
#include <Aspose/Slides/Foss/export/save_format.h>

using namespace Aspose::Slides::Foss;

int main() {
    Presentation prs;
    auto& shape = prs.slides()[0].shapes().add_auto_shape(
        ShapeType::RECTANGLE, 100, 100, 400, 200
    );
    shape.fill_format().set_fill_type(FillType::SOLID);
    shape.fill_format().solid_fill_color().set_color(0xFF, 0x46, 0x82, 0xB4);
    shape.text_frame()->set_text("Styled shape");
    prs.save("styled.pptx", SaveFormat::PPTX);
    return 0;
}

(pemegang tempat)

Masalah dan Solusi Umum

Kesalahan penghubung dengan referensi yang tidak ditentukan Pastikan `target_link_libraries ((your_targets PRIVATE aspose_slides_foss) “) berada di CMakeLists.txt kamu dan bahwa perpustakaan berhasil diambil melalui ̋FetchContent∂ .

File header tidak ditemukan Masukkan jalur penuh yang dimulai dengan <Aspose/Slides/Foss/...>. Run ̋cmake –build∂ dari direktori build, bukan dari sumber direktori.

UnsupportedOperationException setara untuk fitur yang tidak didukung Beberapa fitur (grafik, animasi, ekspor PDF) tidak mendukung. Periksa dokumentasi proyek untuk daftar batasan saat ini.

Crash saat mengakses slide dengan indeks default Presentation selalu membuat satu slides pada index 0. Jika Anda memuat file kosong atau menghapus semua slideshare, ⌒prs.slides()[0]` akan berada di luar jangkauan.

Pertanyaan yang Sering Diajukan

Apakah aspose_slides_foss membutuhkan Microsoft Office?

Tidak. Perpustakaan membuat dan membaca file .pptx secara asli dalam C++ tanpa ketergantungan pada Microsoft Office, otomatisasi COM, atau Windows API.

Kompilator dan standar C++ mana yang didukung?

Perpustakaan ini membutuhkan C++20 atau lebih baru. Ini diuji dengan GCC 11+, Clang 13+ dan MSVC 2022.

Apakah perpustakaan ini gratis untuk penggunaan komersial?

Ya. Ini dirilis di bawah Lisensi MIT. Anda dapat menggunakannya, memodifikasinya, dan mendistribusikannya untuk tujuan apa pun, termasuk aplikasi komersial.

Bisakah saya memuat file PPTX yang ada?

Ya. Lemparkan jalur file ke konstruktor Presentation:

Presentation prs("existing.pptx");
prs.save("copy.pptx", SaveFormat::PPTX);

Bagaimana saya menambahkan beberapa slide?

Gunakan prs.slides().add_empty_slide(layout) setelah mendapatkan tata letak dari ⌒prS.masters (()) [0].layouts_ slides (() [ 0]ヽ .

Lihat Juga

  • FAQ Aspose.Slides FOSS untuk C++
  • Cara Membuat Presentasi dalam C++
  • Cara Menambahkan Bentuk di C++
  • Memulai Dokumen
  • Referensi API
 Bahasa Indonesia