Kā strādāt ar FOSS un C++?

Kā strādāt ar FOSS un C++?

aspose_slides_foss for C++ adalah perpustakaan percuma, berlesen MIT untuk membuat dan mengedit fail PowerPoint ̋.pptx⌒ tanpa Microsoft Office yang diperlukan, dibina dengan CMake .

Panduan Langkah demi langkah

[pemilik tempat]

Langkah 1: Tambah Perpustakaan melalui CMake

Tambah aspose_slides_foss ke dalam CMakeLists.txt` anda (perlu pengkompiler 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: Masukkan tajuk yang diperlukan

Masukkan tajuk untuk kelas yang anda perlukan:

#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: Buat Persembahan

Membina Presentation untuk bermula dengan satu slaid kosong, kemudian simpan:

#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: Tambah bentuk dengan teks

Gunakan `slide.shapes().add_auto_shape (() ∀ untuk memasukkan segi empat, kemudian panggil ̋text_frame (),->set_text ()) ゙ untuk menambah kandungan 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: Amalkan isi dan simpan

Tetapkan warna pengisian pepejal 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;
}

[pemilik tempat]

Masalah dan Penyelesaian yang lazim

Kesalahan penyambung dengan rujukan yang tidak ditentukan Pastikan `target_link_libraries ((your_targets PRIVATE aspose_slides_foss) “) berada dalam ̋CMakeLists.txt∂ anda dan perpustakaan telah berjaya diambil melalui ゚FetchContent∂ .

Fail tajuk tidak ditemui Masukkan laluan penuh bermula dengan <Aspose/Slides/Foss/...>. Jalankan ̋cmake –build∂ dari direktori bina, bukan dari direktor sumber.

UnsupportedOperationException setara untuk ciri-ciri yang tidak disokong Sesetengah ciri (grafik, animasi, eksport PDF) tidak didukung. Periksa dokumentasi projek untuk senarai had semasa.

Kerosakan apabila mengakses slaid mengikut indeks Presentation lalai sentiasa mencipta satu slaida pada indeks 0. Jika anda memuat naik fail kosong atau menghapuskan semua slaids, ⌒prs.slides()[0]` akan berada di luar julat.

Soalan yang Sering Ditanya

Adakah aspose_slides_foss memerlukan Microsoft Office?

Tidak. Perpustakaan mencipta dan membaca fail .pptx secara asli dalam C++ tanpa bergantung pada Microsoft Office, automasi COM, atau Windows API.

Kompilator dan standard C++ mana yang disokong?

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

Adakah perpustakaan ini percuma untuk kegunaan komersial?

Ya. Ia dikeluarkan di bawah Lesen MIT. Anda boleh menggunakannya, mengubah suai dan mengedarkan semula untuk sebarang tujuan, termasuk aplikasi komersial.

Bolehkah saya memuat naik fail PPTX yang sedia ada?

Ya. Pasangkan laluan fail ke pembina Presentation:

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

Bagaimana saya menambah pelbagai slaid?

Gunakan prs.slides().add_empty_slide(layout) selepas mendapatkan susun atur dari ⌒prS.masters (()) [0].layouts_ slides (() [ 0]ヽ .

Lihat juga:

  • FAQ Aspose.Slides FOSS untuk C++
  • Cara Membuat Penyertaan dalam C++
  • Cara Menambah Bentuk dalam C++
  • Memulai Docs
  • Rujukan API
 Bahasa Melayu