PHP에서 PowerPoint 슬라이드를 PNG로 변환
개요
이 문서에서는 Aspose.Slides를 사용하여 PowerPoint 프레젠테이션을 PNG 이미지로 변환하는 방법을 설명합니다. PPT, PPTX 및 ODP와 같은 형식의 프레젠테이션 파일을 로드하고, 슬라이드를 이미지로 렌더링하며, 결과를 PNG 형식으로 저장하는 방법을 보여줍니다.
또한 스케일 값을 설정하거나 원하는 너비와 높이를 지정하여 생성된 PNG 이미지를 사용자 정의하는 방법도 보여줍니다.
PowerPoint를 PNG로 변환
다음 단계대로 진행합니다:
- Presentation 클래스를 인스턴스화합니다.
- Slide 클래스 아래의 Presentation.getSlides() 컬렉션에서 슬라이드 객체를 가져옵니다.
- Slide.getImage() 메서드를 사용하여 각 슬라이드의 썸네일을 가져옵니다.
- IImage.save(String formatName, int imageFormat) 메서드를 사용하여 슬라이드 썸네일을 PNG 형식으로 저장합니다.
다음 PHP 코드는 PowerPoint 프레젠테이션을 PNG로 변환하는 방법을 보여줍니다:
$pres = new Presentation("pres.pptx");
try {
for($index = 0; $index < java_values($pres->getSlides()->size()) ; $index++) {
$slide = $pres->getSlides()->get_Item($index);
$slideImage = $slide->getImage();
try {
$slideImage->save("image_java_" . $index . ".png", ImageFormat::Png);
} finally {
if (!java_is_null($slideImage)) {
$slideImage->dispose();
}
}
}
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
맞춤 크기로 PowerPoint를 PNG로 변환
특정 스케일에 맞는 PNG 파일을 얻고 싶다면, 결과 썸네일의 크기를 결정하는 desiredX와 desiredY 값을 설정할 수 있습니다.
다음 코드는 위에서 설명한 작업을 보여줍니다:
$pres = new Presentation("pres.pptx");
try {
$scaleX = 2.0;
$scaleY = 2.0;
for($index = 0; $index < java_values($pres->getSlides()->size()) ; $index++) {
$slide = $pres->getSlides()->get_Item($index);
$slideImage = $slide->getImage($scaleX, $scaleY);
try {
$slideImage->save("image_java_" . $index . ".png", ImageFormat::Png);
} finally {
if (!java_is_null($slideImage)) {
$slideImage->dispose();
}
}
}
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
맞춤 크기로 PowerPoint를 PNG로 변환
특정 크기에 맞는 PNG 파일을 얻고 싶다면, ImageSize에 원하는 width와 height 인수를 전달할 수 있습니다.
다음 코드는 이미지 크기를 지정하여 PowerPoint를 PNG로 변환하는 방법을 보여줍니다:
$pres = new Presentation("pres.pptx");
try {
$size = new Java("java.awt.Dimension", 960, 720);
for($index = 0; $index < java_values($pres->getSlides()->size()) ; $index++) {
$slide = $pres->getSlides()->get_Item($index);
$slideImage = $slide->getImage($size);
try {
$slideImage->save("image_java_" . $index . ".png", ImageFormat::Png);
} finally {
if (!java_is_null($slideImage)) {
$slideImage->dispose();
}
}
}
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
FAQ
전체 슬라이드가 아니라 특정 도형(예: 차트 또는 그림)만 내보내려면 어떻게 해야 하나요?
Aspose.Slides는 generating thumbnails for individual shapes을 지원하므로, 도형을 PNG 이미지로 렌더링할 수 있습니다.
서버에서 병렬 변환이 지원되나요?
예, 지원하지만 단일 Presentation 인스턴스를 스레드 간에 공유하지 마십시오. 대신 스레드나 프로세스당 별도의 인스턴스를 사용하십시오. 자세한 내용은 단일 프레젠테이션 인스턴스를 스레드 간에 공유하지 마세요를 참고하십시오.
PNG로 내보낼 때 체험판 제한 사항은 무엇인가요?
평가 모드에서는 출력 이미지에 워터마크가 추가되고 라이선스를 적용할 때까지 other restrictions이 적용됩니다.