Microsoft PowerPoint는 PowerPoint 프레젠테이션에 비디오 프레임을 추가할 수 있는 기능을 제공합니다. 비디오는 프레젠테이션의 품질을 높이고 청중에게 메시지를 더 잘 전달하는 데 사용할 수 있습니다. 프로그래밍 방식으로 PowerPoint 프레젠테이션에 비디오를 추가하려는 상황이 있을 수 있습니다. 이를 위해 이 기사에서는 C++를 사용하여 PowerPoint 프레젠테이션에 비디오를 포함하는 방법을 설명합니다.
- PowerPoint 프레젠테이션에 비디오를 포함하기 위한 C++ API
- C++를 사용하여 PowerPoint 프레젠테이션에 비디오 포함
- PowerPoint 프레젠테이션에 웹 소스의 비디오 포함
- C++를 사용하여 PowerPoint 프레젠테이션에서 비디오 추출
PowerPoint 프레젠테이션에 비디오를 포함하기 위한 C++ API
Aspose.Slides for C++ API를 사용하여 PowerPoint 프레젠테이션에 비디오를 포함합니다. Mircosoft PowerPoint를 설치할 필요 없이 PowerPoint 파일 생성, 읽기 및 수정을 지원하는 강력하고 기능이 풍부한 API입니다. NuGet을 통해 API를 설치하거나 다운로드 섹션에서 직접 다운로드할 수 있습니다.
PM> Install-Package Aspose.Slides.Cpp
C++를 사용하여 PowerPoint 프레젠테이션에 비디오 포함
다음은 PowerPoint 프레젠테이션에 비디오를 포함하는 단계입니다.
- 먼저 Presentation 클래스의 인스턴스를 만들어 새 PowerPoint 파일을 나타냅니다.
- 비디오를 포함할 슬라이드를 검색합니다.
- Presentation->getVideos()->AddVideo(System::SharedPtr)를 사용하여 프레젠테이션에 비디오를 추가합니다.System::IO::Stream 스트림) 메서드입니다.
- ISlide->getShapes()->AddVideoFrame(float x, float y, float width, float height, System::SharedPtr< IVideo > video) 메서드를 사용하여 비디오 프레임을 추가합니다.
- IVideoFrame->setEmbeddedVideo(System::SharedPtr 값) 메서드입니다.
- 비디오의 재생 모드와 볼륨을 설정합니다.
- 마지막으로 Presentation->Save(System::String fname, Export::SaveFormat format) 메서드를 사용하여 프레젠테이션을 저장합니다.
다음 샘플 코드는 C++를 사용하여 PowerPoint 프레젠테이션에 비디오를 포함하는 방법을 보여줍니다.
// 파일 경로
const String videoFilePath = u"SourceDirectory\\Video\\Wildlife.mp4";
const String outputFilePath = u"OutputDirectory\\EmbedVideo_out.pptx";
// Presentation 클래스의 인스턴스 만들기
SharedPtr<Presentation> presentation = MakeObject<Presentation>();
// 첫 번째 슬라이드에 액세스
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);
// 스트리밍할 비디오 파일 로드
System::SharedPtr<System::IO::Stream> stream = System::MakeObject<System::IO::FileStream>(videoFilePath, System::IO::FileMode::Open, System::IO::FileAccess::Read);
// 프레젠테이션에 비디오 추가
System::SharedPtr<IVideo> vid = presentation->get_Videos()->AddVideo(stream);
// 비디오 프레임 추가
System::SharedPtr<IVideoFrame> videoFrame = slide->get_Shapes()->AddVideoFrame(50, 150, 300, 150, vid);
// 비디오 프레임 안에 비디오 삽입
videoFrame->set_EmbeddedVideo(vid);
// 비디오의 재생 모드 및 볼륨 설정
videoFrame->set_PlayMode(VideoPlayModePreset::Auto);
videoFrame->set_Volume(AudioVolumeMode::Loud);
// 프레젠테이션 저장
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
PowerPoint 프레젠테이션에 웹 소스의 비디오 포함
다음은 PowerPoint 프레젠테이션에 웹 소스의 비디오를 포함하는 단계입니다.
- 먼저 Presentation 클래스의 인스턴스를 만들어 새 PowerPoint 파일을 나타냅니다.
- 비디오를 포함할 슬라이드를 검색합니다.
- ISlide->getShapes()->AddVideoFrame(float x, float y, float width, float height, System::String fname) 메서드를 사용하여 비디오 프레임을 추가합니다.
- 동영상의 재생 모드를 설정합니다.
- 마지막으로 Presentation->Save(System::String fname, Export::SaveFormat format) 메서드를 사용하여 프레젠테이션을 저장합니다.
다음 샘플 코드는 C++를 사용하여 PowerPoint 프레젠테이션에 웹 소스의 비디오를 포함하는 방법을 보여줍니다.
// 파일 경로
const String outputFilePath = u"OutputDirectory\\EmbedVideoFromWeb_out.pptx";
// Presentation 클래스의 인스턴스 만들기
SharedPtr<Presentation> presentation = MakeObject<Presentation>();
// 첫 번째 슬라이드에 액세스
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);
// 웹 소스에서 비디오 프레임 추가
System::SharedPtr<IVideoFrame> videoFrame = slide->get_Shapes()->AddVideoFrame(10, 10, 427, 240, u"https://www.youtube.com/embed/sZJorZmHiIk");
// 비디오의 재생 모드 및 볼륨 설정
videoFrame->set_PlayMode(VideoPlayModePreset::Auto);
// 프레젠테이션 저장
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
C++를 사용하여 PowerPoint 프레젠테이션에서 비디오 추출
다음은 C++를 사용하여 PowerPoint 프레젠테이션에서 비디오를 추출하는 단계입니다.
- 먼저 Presentation 클래스를 이용하여 파워포인트 파일을 불러옵니다.
- 프레젠테이션 슬라이드를 반복합니다.
- 각 슬라이드의 모양을 반복합니다.
- 각 모양에 대해 모양이 VideoFrame인지 확인합니다. 동영상 프레임인 경우 포함된 동영상을 추출하여 저장합니다.
다음 샘플 코드는 C++를 사용하여 PowerPoint 프레젠테이션에서 비디오를 추출하는 방법을 보여줍니다.
// 파일 경로
const String sourceFilePath = u"OutputDirectory\\EmbedVideo_out.pptx";
const String outputFilePath = u"OutputDirectory\\ExtractVideoFromSlide_out.";
// 프레젠테이션 파일 로드
System::SharedPtr<Presentation> presentation = System::MakeObject<Presentation>(sourceFilePath);
{
// 슬라이드 반복
auto slide_enumerator = (presentation->get_Slides())->GetEnumerator();
decltype(slide_enumerator->get_Current()) slide;
while (slide_enumerator->MoveNext() && (slide = slide_enumerator->get_Current(), true))
{
// 모양을 반복
auto shape_enumerator = (presentation->get_Slides()->idx_get(0)->get_Shapes())->GetEnumerator();
decltype(shape_enumerator->get_Current()) shape;
while (shape_enumerator->MoveNext() && (shape = shape_enumerator->get_Current(), true))
{
// 도형이 비디오 프레임인지 확인
if (System::ObjectExt::Is<VideoFrame>(shape))
{
// 비디오 파일 추출
System::SharedPtr<VideoFrame> vf = System::DynamicCast_noexcept<Aspose::Slides::VideoFrame>(shape);
System::String type = vf->get_EmbeddedVideo()->get_ContentType();
int32_t ss = type.LastIndexOf(L'/');
type = type.Remove(0, type.LastIndexOf(L'/') + 1);
System::ArrayPtr<uint8_t> buffer = vf->get_EmbeddedVideo()->get_BinaryData();
{
System::SharedPtr<System::IO::FileStream> stream = System::MakeObject<System::IO::FileStream>(outputFilePath + type, System::IO::FileMode::Create, System::IO::FileAccess::Write, System::IO::FileShare::Read);
// 'using' 문에서 리소스 지우기
//시스템::세부 정보::DisposeGuard __dispose_guard_0{ 스트림, ASPOSE_CURRENT_FUNCTION };
// ------------------------------------------
stream->Write(buffer, 0, buffer->get_Length());
}
}
}
}
}
무료 라이선스 받기
평가 제한 없이 API를 사용해 보려면 무료 임시 라이선스를 요청할 수 있습니다.
결론
이 기사에서는 C++를 사용하여 PowerPoint 프레젠테이션에 비디오를 포함하는 방법을 배웠습니다. 또한 Aspose.Slides for C++ API를 사용하여 PowerPoint 프레젠테이션에서 포함된 비디오를 추출하는 방법을 살펴보았습니다. PowerPoint 파일 작업을 위한 많은 추가 기능을 제공하는 강력한 API입니다. 공식 문서에서 API를 자세히 살펴볼 수 있습니다. 질문이 있는 경우 무료 지원 포럼에 문의해 주십시오.
또한보십시오
팁: Aspose FREE PowerPoint to Video 변환기를 사용하면 전환 효과를 사용하여 프레젠테이션을 멋진 비디오로 변환할 수 있습니다.