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