שאלות נפוצות

שאלות נפוצות

שאלות נפוצות

איך אני בונה וקושר את Aspose.Slides FOSS עבור C++?

השתמש ב‑CMake FetchContent כדי להוסיף את הספרייה לפרויקט שלך. נדרש C++20 או גרסה מאוחרת יותר.

cmake_minimum_required(VERSION 3.20)
project(my_app LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

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)

אין צורך ב‑Microsoft Office או בזמן ריצה של מערכת אחרת.


למה עלי להשתמש ב‑RAII עם Presentation?

המחלקה Presentation מנהלת משאבי XML פנימיים. כאשר האובייקט יוצא מהטווח, הפונקציה המוחקת שלו משחררת את המשאבים האלה. הימנע מהקצאת Presentation עם new ללא מצביע חכם; השתמש בהקצאה בערימה או std::unique_ptr כדי להבטיח ניקוי.

תמיד עקבו אחרי התבנית הזו:

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

int main() {
    Aspose::Slides::Foss::Presentation prs;
    // work here
    prs.save("output.pptx", Aspose::Slides::Foss::SaveFormat::PPTX);
    return 0;
}

לאילו פורמטים של קבצים ניתן לשמור?

רק PPTX נתמך:

prs.save("output.pptx", Aspose::Slides::Foss::SaveFormat::PPTX);

ייצוא ל-PDF, HTML, SVG או פורמטים של תמונה (PNG, JPEG) אינו זמין בגרסה זו.


האם אני יכול לפתוח קבצי .ppt (PowerPoint ישן 97-2003)?

לא. רק קבצי .pptx (Office Open XML) נתמכים. פורמט בינארי ישן .ppt אינו מטופל על‑ידי ספרייה זו.


איך אני ניגש לשקופיות?

השקופיות הן אוסף שמתחיל מאפס ונגיש דרך prs.slides():

auto& slides = prs.slides();
auto& first_slide = slides[0];
auto count = slides.size();

איך מוסיף שקף שני?

השתמש בprs.slides().add_empty_slide() עם פריסה:

Aspose::Slides::Foss::Presentation prs;
auto& layout = prs.layout_slides()[0];
prs.slides().add_empty_slide(&layout);
auto& slide2 = prs.slides()[1];
prs.save("two-slides.pptx", Aspose::Slides::Foss::SaveFormat::PPTX);

איך אני מגדיר את צבע הרקע של השקופית?

צבע רקע השקופית אינו חשוף ב‑API הנוכחי. BaseSlide ו‑Slide אינם כוללים שיטת background(). תכונה זו אינה זמינה במהדורה זו של הספרייה.


איך אני משתמש בNullableBool?

NullableBool הוא enum בעל שלושה מצבים המשמש לתכונות עיצוב. השתמש ב-NullableBool::TRUE (לא ב‑C++ true) עבור מודגש, נטוי ותכונות דומות:

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

fmt.set_font_bold(Aspose::Slides::Foss::NullableBool::TRUE);
fmt.set_font_italic(Aspose::Slides::Foss::NullableBool::FALSE);
// Note: set_font_underline() takes TextUnderlineType, not NullableBool:
// fmt.set_font_underline(Aspose::Slides::Foss::TextUnderlineType::NONE);

למה שינוי צבע הטקסט אינו משפיע?

עליך גם להגדיר את fill_type ל‑SOLID לפני הקצאת הצבע:

fmt.fill_format().set_fill_type(Aspose::Slides::Foss::FillType::SOLID);
fmt.fill_format().solid_fill_color().set_color(
    Aspose::Slides::Foss::Color::from_argb(255, 200, 0, 0));

האם אני יכול להשתמש בתרשימים או ב‑SmartArt?

לא. תרשימים, SmartArt, אובייקטי OLE, אנימציות, מעברים, קישורים, מקרו VBA, וחתימות דיגיטליות אינם מיושמים בגרסה זו.


האם הספרייה הזאת בטוחה לשימוש מרובה‑תהליכים?

כל אובייקט Presentation הוא עצמאי. יצירת ושימוש במופעים נפרדים של Presentation מתוך חוטים נפרדים בטוחים כל עוד אינך חולק אובייקט Presentation יחיד בין חוטים ללא נעילה חיצונית.


איך אני משלב תמונה?

קרא את בייטי התמונה והוסף אותם לprs.images(), ואז צור PictureFrame:

#include <Aspose/Slides/Foss/presentation.h>
#include <fstream>
#include <vector>

std::ifstream file("logo.png", std::ios::binary);
std::vector<uint8_t> data((std::istreambuf_iterator<char>(file)),
                           std::istreambuf_iterator<char>());
auto& image = prs.images().add_image(data);
slide.shapes().add_picture_frame(
    Aspose::Slides::Foss::ShapeType::RECTANGLE, 50, 50, 200, 150, image);

ראה גם

 עברית