자주 묻는 질문
자주 묻는 질문
Aspose.Slides FOSS for 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 (old PowerPoint 97-2003) 파일을 열 수 있나요?
아니요. .pptx (Office Open XML) 파일만 지원됩니다. 레거시 .ppt 바이너리 형식은 이 라이브러리에서 처리되지 않습니다.
슬라이드에 어떻게 접근하나요?
슬라이드는 prs.slides()을 통해 액세스할 수 있는 0 기반 컬렉션입니다:
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는 서식 속성에 사용되는 삼상 열거형입니다. 굵게, 기울임 등과 같은 속성에는 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, 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);