Aspose.Slides FOSS สำหรับ C++ คือไลบรารีที่ใช้ใบอนุญาต MIT สำหรับทำงานกับไฟล์ PowerPoint .pptx. ผสานรวมผ่าน CMake FetchContent และเริ่มสร้าง, อ่าน, และแก้ไขงานนำเสนอได้ทันทีโดยไม่ต้องติดตั้ง Microsoft Office หรือรันไทม์ที่เป็นกรรมสิทธิ์ใด ๆ.
ไลบรารีนี้เปิดเผย Presentation API ที่สร้างขึ้นรอบ ๆ Presentation, Slide, ShapeCollection, TextFrame, Paragraph และ Portion, โมเดลเชิงแนวคิดที่ PowerPoint เองใช้. เพิ่มและลบสไลด์, แทรก AutoShapes, ตาราง, และคอนเน็กเตอร์, จัดรูปแบบข้อความในระดับอักขระด้วยตัวหนา, ตัวเอียง, ขนาดและสีของฟอนต์, ใช้การเติมสีแบบทึบหรือไล่สี, และเพิ่มเอฟเฟกต์ภาพ (เงา, แสงเรืองแสง, เบลอ, การสะท้อน).
RAII semantics ทำให้การทำความสะอาดทรัพยากรเป็นไปอย่างเชื่อถือได้: ตัวทำลายของ Presentation ปล่อยสถานะภายในทั้งหมดโดยอัตโนมัติ. ส่วน XML ที่ไม่รู้จักที่พบระหว่างการโหลดจะถูกเก็บไว้ตามต้นฉบับเมื่อบันทึก, ดังนั้นการทำรอบไม่เคยทำลายเนื้อหาที่ไลบรารียังไม่เข้าใจ. ไลบรารีต้องการคอมไพเลอร์ที่รองรับ C++20. สำหรับคุณลักษณะเพิ่มเติม, ดู Aspose.Slides for C++ enterprise edition.
.pptx ที่มีอยู่ผ่าน Presentation() หรือ Presentation(path).SlideCollection อย่างโปรแกรมเมติกด้วย add_empty_slide(), remove() และ remove_at().ShapeType อื่น ๆ ผ่าน add_auto_shape().add_connector().NotesSlideManager.pres.comment_authors() และคอมเมนต์ที่เกี่ยวข้องของมัน.Portion แต่ละอันผ่าน PortionFormat.FillFormat และ FillTypeEffectFormat.ParagraphFormat และ set_alignment().Aspose.Slides FOSS ผสานรวมผ่าน CMake FetchContent ดังนั้นจึงไม่จำเป็นต้องดาวน์โหลดด้วยตนเองหรือการติดตั้งระดับระบบ ไลบรารีจะสร้างจากซอร์สโค้ดพร้อมกับโปรเจกต์ของคุณ.
API สะท้อนโมเดลวัตถุของ PowerPoint (Presentation, Slide, ShapeCollection, TextFrame, Paragraph, Portion) ดังนั้นผู้ที่คุ้นเคยกับโมเดลวัตถุของ PowerPoint สามารถใช้ไลบรารีได้ทันที. มันได้รับใบอนุญาต MIT-licensed, เป็นโอเพนซอร์สบน GitHub, และต้องการคอมไพเลอร์ที่รองรับ C++20-compliant.
RAII ทำให้แน่ใจว่า destructor ของ Presentation ปล่อยทรัพยากรทั้งหมดโดยอัตโนมัติเมื่ออ็อบเจกต์ออกจากขอบเขต. add_auto_shape() รับค่า enum ShapeType, จากนั้นตำแหน่ง x/y และความกว้าง/ความสูงเป็นจุด — text_frame ของรูปทรงให้การเข้าถึงเพื่อกำหนดเนื้อหาข้อความ.
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];
// Add a rectangle AutoShape
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;
}
```cmake
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)
การจัดรูปแบบข้อความทำงานที่ระดับ Portion — หน่วยที่เล็กที่สุดของชุดอักขระ เปิดไฟล์ที่บันทึกไว้, ไปยังส่วนแรกของย่อหน้าแรก, และตั้งค่าคุณสมบัติของฟอนต์โดยตรง การเติมสีของรูปร่างเป็นอิสระ: ตั้งค่าชนิดการเติมเป็นสีทึบและกำหนดสี.
#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];
// Bold, 18pt text
portion.portion_format().set_font_bold(asf::NullableBool::TRUE);
portion.portion_format().set_font_height(18);
// Solid background fill on the shape
shape.fill_format().set_fill_type(asf::FillType::SOLID);
prs.save("formatted.pptx", asf::SaveFormat::PPTX);
return 0;
}
```cpp
#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];
// Bold, 18pt text
portion.portion_format().set_font_bold(asf::NullableBool::TRUE);
portion.portion_format().set_font_height(18);
// Solid background fill on the shape
shape.fill_format().set_fill_type(asf::FillType::SOLID);
prs.save("formatted.pptx", asf::SaveFormat::PPTX);
return 0;
}
นี่คือไลบรารี C++ ที่ฟรีและใช้ใบอนุญาต MIT สำหรับสร้าง, อ่าน, และแก้ไขงานนำเสนอ PowerPoint .pptx โดยไม่ต้องใช้ Microsoft Office.
.pptx เป็นรูปแบบที่รองรับการอ่าน/เขียน. การส่งออกเป็น PDF, HTML, SVG หรือรูปภาพไม่พร้อมใช้งานในรุ่นนี้.
ไม่. Aspose.Slides FOSS เป็นไลบรารี C++ แบบสแตนด์อโลนที่ไม่มีการพึ่งพา Microsoft Office, COM automation, หรือ runtime ที่เป็นกรรมสิทธิ์ใดๆ
ใช้ CMake FetchContent เพื่อรวมไลบรารีโดยตรงจาก GitHub. ไลบรารีต้องการคอมไพเลอร์ที่รองรับ C++20
ใช่. ไลบรารีรองรับเงานอก, แสงเรืองแสง, เบลอ, และเอฟเฟกต์การสะท้อนบนวัตถุรูปร่างใดก็ได้ผ่าน API EffectFormat
ใช่. ตัวทำลาย Presentation จะปล่อยสถานะภายในทั้งหมดโดยอัตโนมัติ, ดังนั้นจึงไม่จำเป็นต้องทำความสะอาดอย่างชัดเจน
ไม่. ส่วน XML ที่ไม่รู้จักที่พบระหว่างการโหลดจะถูกเก็บไว้ตามต้นฉบับเมื่อตอนบันทึก, ดังนั้นเนื้อหาที่ไลบรารียังไม่เข้าใจจะไม่สูญหาย
ไลบรารีนี้ใช้สัญญาอนุญาต MIT และโฮสต์บน GitHub. รายงานบั๊กและคำขอดึง (pull request) ยินดีรับ