이 기사에서는 여러 PowerPoint를 하나의 프레젠테이션 파일로 결합하는 방법에 대해 자세히 설명합니다. PowerPoint는 기업 문화에서 정보 표현 및 브리핑에 사용되며 슬라이드 쇼 준비를 위해 비즈니스맨 및 학생들이 사용합니다. 인기의 또 다른 측면은 자습서, 디지털 포트폴리오, 기본 애니메이션 또는 사진 슬라이드 쇼 생성을 만드는 것입니다. 그러나 팀이 분산 환경에서 작업하는 경우 PowerPoint 프레젠테이션을 병합해야 하는 요구 사항이 있을 수 있습니다. 따라서 이 기사에서는 Java Cloud SDK를 사용하여 여러 PowerPoint를 하나의 프레젠테이션으로 결합하는 방법에 대해 자세히 설명합니다.
PowerPoint API 병합
프로그래밍 방식으로 PPT 또는 PPTX를 PDF, JPEG, PNG 또는 GIF로 생성, 편집 및 내보내려면 등의 형식으로 Aspose.Slides Cloud라는 로우 코드 API를 개발했습니다. REST 기반 아키텍처를 통해 모든 플랫폼에서 API 루틴을 호출할 수 있습니다. 이제 Java 응용 프로그램에서 PowerPoint 프레젠테이션을 결합하는 기능을 구현하기 위해 Aspose.Slides Cloud SDK for Java를 특별히 만들었습니다. 따라서 SDK를 사용하려면 maven 빌드 프로젝트의 pom.xml에 해당 참조를 추가하기만 하면 됩니다.
<repositories>
<repository>
<id>aspose-cloud</id>
<name>artifact.aspose-cloud-releases</name>
<url>https://artifact.aspose.cloud/repo</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-slides-cloud</artifactId>
<version>22.9.0</version>
</dependency>
</dependencies>
SDK 참조가 추가되면 다음으로 중요한 단계는 Aspose Cloud로 인증하는 것입니다. 기존 계정이 없는 경우 유효한 이메일 주소를 사용하여 무료 계정을 만드십시오. 그런 다음 새로 만든 계정으로 로그인하고 클라우드 대시보드에서 Client ID와 Client Secret을 조회/생성합니다. 이러한 세부 정보는 다음 섹션에서 인증 목적으로 필요합니다.
Java에서 PowerPoint 결합
이 섹션에서는 Java Cloud SDK를 사용하여 PowerPoint 프레젠테이션을 병합하는 방법에 대해 자세히 설명합니다. PowerPoint를 병합하려면 입력 PowerPoint를 로컬 드라이브에서 로드하거나 클라우드 저장소에서 로드하거나 웹 URL에서 직접 로드할 수도 있습니다. 아래에 명시된 지침을 따르십시오.
- 먼저 ClientID와 Client secret을 인자로 제공하면서 SlidesApi 객체의 객체를 생성합니다.
- 둘째, 첫 번째 PowerPoint에 대한 데이터를 제공하는 FileInfo 개체를 만듭니다.
- 셋째, 병합할 PPT 파일 목록을 보유할 ArrayList 인스턴스를 생성합니다.
- 다음 단계는 병합할 각 PowerPoint에 대해 별도의 PresentationToMerge 개체를 만드는 것입니다.
- 이제 로컬 저장소에서 PowerPoint를 로드하려면 PresentationToMerge 열거의 REQUEST 값을 사용해야 합니다.
- 병합할 PowerPoint 내의 특정 슬라이드를 지정하기 위해 setSlides(…) 메서드를 사용합니다.
- 다음 단계는 병합할 프레젠테이션 파일의 순서를 설정하는 것이며 이를 위해 OrderedMergeRequest 객체를 사용하고 setPresentations(..) 메서드를 사용합니다.
- 마지막으로 mergeAndSaveOnline(…) 메서드를 호출하여 파워포인트 프레젠테이션을 병합하고 결과 파일을 클라우드 스토리지에 저장합니다.
try
{
// https://dashboard.aspose.cloud/에서 ClientID 및 ClientSecret 가져오기
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";
// SlidesApi 인스턴스 생성
SlidesApi slidesApi = new SlidesApi(clientId,clientSecret);
// 병합할 프레젠테이션을 수집합니다.
FileInfo fileInfo = new FileInfo();
// 입력 프레젠테이션 읽기
fileInfo.setData(Files.readAllBytes(Paths.get("TemplateCV.pptx")));
// 소스 PowerPoint의 이름 설정
fileInfo.setName("TemplateCV.pptx");
// FileInfo 개체의 배열 목록 만들기
List<FileInfo> files = new ArrayList<FileInfo>();
// 배열 목록에 FileInfo 객체 추가
files.add(fileInfo);
// 병합할 첫 번째 프레젠테이션에 대한 정보를 준비합니다.
PresentationToMerge presentation1 = new PresentationToMerge();
// 로컬 드라이브에서 PowerPoint 읽기
presentation1.setSource(PresentationToMerge.SourceEnum.REQUEST);
// 첫 번째 PowerPoint 파일의 경로 설정
presentation1.setPath("TemplateCV.pptx");
// 병합해야 하는 PowerPoint 슬라이드 지정
presentation1.setSlides(Arrays.asList(1, 2));
// 병합할 첫 번째 프레젠테이션에 대한 정보를 준비합니다.
PresentationToMerge presentation2 = new PresentationToMerge();
presentation2.setPath("Presentation1.pptx");
// PowerPoint가 암호로 보호되어 있는 경우 암호 세부 정보 설정
///presentation2.setPassword("my_password");
// 소스를 클라우드 스토리지로 지정
presentation2.setSource(PresentationToMerge.SourceEnum.STORAGE);
// 병합할 첫 번째 프레젠테이션에 대한 정보를 준비합니다.
PresentationToMerge presentation3 = new PresentationToMerge();
// 웹 URL로 PowerPoint의 경로
presentation3.setPath("https://github.com/aspose-slides-cloud/aspose-slides-cloud-java/blob/master/TestData/test-unprotected.pptx");
presentation3.setSlides(Arrays.asList(1));
// 경로 값을 URL로 설정
presentation3.setSource(PresentationToMerge.SourceEnum.URL);
// 병합 요청을 준비합니다.
OrderedMergeRequest request = new OrderedMergeRequest();
// PowerPoint 프레젠테이션의 병합 순서 설정
request.setPresentations(Arrays.asList(presentation1, presentation2));//, presentation3));
// API를 호출하여 PowerPoint를 결합하고 클라우드 스토리지에 출력 저장
slidesApi.mergeAndSaveOnline("Merged.pptx", files, request, "internal"); // mergeOnline(files, request, null);
System.out.println("Merge PowerPoint successful !");
}catch(Exception ex)
{
System.out.println(ex);
}
위 예제에서 사용한 샘플 파일은 TemplateCV.pptx, Presentation1.pptx, Merged.ppt에서 다운로드 받을 수 있습니다.
cURL 명령을 사용하여 PowerPoint 병합
cURL 명령은 플랫폼 독립적이며 모든 플랫폼에서 실행할 수 있습니다. 따라서 이 섹션에서는 cURL 명령을 사용하여 PowerPoint 프레젠테이션을 병합하는 방법에 대한 세부 정보를 공유합니다. 따라서 이 접근 방식의 전제 조건 중 먼저 다음 명령을 실행하는 동안 JWT 액세스 토큰(클라이언트 자격 증명 기반)을 생성해야 합니다.
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
JWT 토큰이 있으면 다음 단계는 다음 명령을 사용하여 PowerPoint 프레젠테이션을 병합하는 것입니다. 다음 명령에서 첫 번째 프레젠테이션의 첫 번째 슬라이드를 병합하고 두 번째 프레젠테이션의 첫 번째 및 세 번째 슬라이드가 병합됩니다. 병합 PPTX는 클라우드 저장소에 저장됩니다.
curl -v -X PUT "https://api.aspose.cloud/v3.0/slides/merge?outPath=newResultant.pptx" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-H "Content-Type: application/json" \
-d "{ \"Presentations\": [ { \"Path\": \"Presentation1.pptx\", \"Password\": \"string\", \"Slides\": [ 1 ], \"Source\": \"Storage\" }, { \"Path\": \"test-unprotected.pptx\", \"Password\": \"string\", \"Slides\": [ 1,3 ], \"Source\": \"Storage\" } ]}"
결론
이 기사에서는 Java Cloud SDK를 사용하여 PowerPoint 프레젠테이션을 결합하는 방법에 대해 자세히 설명했습니다. Java 코드 스니펫 외에도 cURL 명령을 사용하여 여러 파워포인트를 하나로 결합하는 방법에 대한 세부 정보도 배웠습니다. 또한 Cloud API가 제공하는 수많은 놀라운 기능에 대해 알아보려면 문서 제품을 살펴보는 것이 좋습니다. 또한 모든 Cloud SDK는 MIT 라이선스로 게시되므로 GitHub에서 전체 소스 코드를 다운로드하고 요구 사항에 따라 수정할 수 있습니다. 문제가 있는 경우 무료 제품 지원 포럼을 통해 빠른 해결을 위해 당사에 연락하는 것을 고려할 수 있습니다.
관련 기사
자세한 내용은 다음 링크를 참조하십시오.