
Microsoft PowerPoint 애플리케이션(Windows, macOS 및 기타 플랫폼에서 사용 가능)을 사용하면 텍스트, 이미지, 차트, 애니메이션 및 기타 여러 요소가 포함된 프레젠테이션 및 슬라이드 쇼를 생성할 수 있습니다.
이 기사를 읽고 나면 Node.js에서 PowerPoint를 생성하는 방법과 node.js 코드를 실행하여 프레젠테이션에 다양한 콘텐츠를 추가하는 방법을 배우게 될 것입니다.
- Node.js PowerPoint API 가져오기
- Node.js에서 PowerPoint 생성하기
- Node.js에서 PowerPoint 열기
- PowerPoint에 슬라이드 추가하기
- PowerPoint에 텍스트 추가하기
- PowerPoint에 차트 생성하기
- PowerPoint에 이미지 추가하기
Node.js PowerPoint API 가져오기

Aspose.Slides for Node.js via Java는 개발자와 애플리케이션이 node.js 및 javascript 서버 측 애플리케이션에서 PowerPoint 문서를 생성, 열고, 변환하고 조작하는 데 필요한 모든 것을 제공하는 강력한 API입니다.
다음 명령을 실행하여 NPM에서 Aspose.Slides for Node.js via Java를 설치할 수 있습니다:
npm install aspose.slides.via.java
설치 과정 중 문제가 발생하면 이 제품 페이지를 참조하십시오.
참고:
- 대체 설치 방법에 대한 내용은 문서의 설치 문서를 참조하십시오.
- Node.js와 Java 간의 제품 제한 사항과 차이점에 유의하십시오. 문서의 제한 사항 및 차이점 문서와 nodejs-java 브리지 제품 페이지를 참조하십시오.
Node.js에서 PowerPoint PPT 생성하기
- Presentation 클래스의 인스턴스를 생성합니다.
- Presentation.save(String, SaveFormat) 메서드를 통해 객체를 저장합니다.
// 프레젠테이션 파일을 나타내는 Presentation 객체 인스턴스화
var presentation = new aspose.slides.Presentation();
// 첫 번째 슬라이드 가져오기
var slide = presentation.getSlides().get_Item(0);
// 슬라이드에 콘텐츠 추가...
// 프레젠테이션 저장
presentation.save("NewPresentation.pptx", aspose.slides.SaveFormat.Pptx);
Node.js에서 PowerPoint PPT 열기
- Presentation 클래스의 인스턴스를 생성하고 열고자 하는 PowerPoint의 경로를 클래스 생성자에 전달합니다.
- 작업을 수행합니다. 슬라이드에 일부 콘텐츠를 추가할 수 있습니다. 아무 작업도 하지 않을 수 있습니다.
- 프레젠테이션을 저장합니다.
// 프레젠테이션 파일을 나타내는 Presentation 객체 인스턴스화
var presentation = new aspose.slides.Presentation("presentation.pptx");
// 첫 번째 슬라이드 가져오기
var slide = presentation.getSlides().get_Item(0);
// 슬라이드에 콘텐츠 추가...
// 프레젠테이션 저장
presentation.save("NewPresentation.pptx", aspose.slides.SaveFormat.Pptx);
Node.js에서 PowerPoint PPTX에 슬라이드 추가하기
- Presentation 클래스의 인스턴스를 생성하고 슬라이드를 추가할 PowerPoint의 경로를 전달합니다.
- getSlides() 메서드에 대한 참조를 설정하여 ISlideCollection 클래스를 인스턴스화합니다.
ISlideCollection
객체에서 노출된 addEmptySlide(ILayoutSlide) 메서드를 통해 프레젠테이션에 빈 슬라이드를 추가합니다.- Presentation.save(String, SaveFormat) 메서드를 사용하여 업데이트된 프레젠테이션을 저장합니다.
// 프레젠테이션 파일을 나타내는 Presentation 객체 인스턴스화
var presentation = new aspose.slides.Presentation("presentation.pptx");
// 슬라이드 컬렉션에 접근
var slds = presentation.getSlides();
for (var i = 0; i < presentation.getLayoutSlides().size(); i++) {
// 슬라이드 컬렉션에 빈 슬라이드 추가
slds.addEmptySlide(presentation.getLayoutSlides().get_Item(i));
}
// 프레젠테이션 저장
presentation.save("NewPresentation.pptx", aspose.slides.SaveFormat.Pptx);
Node.js에서 PowerPoint PPT에 텍스트 추가하기
- Presentation 클래스의 인스턴스를 생성하고 텍스트를 추가할 PowerPoint의 경로를 전달합니다.
- 인덱스를 통해 텍스트를 추가할 슬라이드의 참조를 가져옵니다.
- addAutoShape() 메서드를 통해 사각형을 추가하고 IAutoShape 객체에 참조를 가져옵니다.
- 텍스트를 포함하는 TextFrame을 도형에 추가합니다.
- 채우기 색상, 채우기 유형 등 텍스트에 원하는 속성을 설정합니다.
- save(String, SaveFormat) 메서드를 통해 업데이트된 프레젠테이션을 저장합니다.
var colorBlack = java.getStaticFieldValue("java.awt.Color", "BLACK");
var colorWhite = java.getStaticFieldValue("java.awt.Color", "WHITE");
// 프레젠테이션 파일을 나타내는 Presentation 객체 인스턴스화
var presentation = new aspose.slides.Presentation("presentation.pptx");
// 첫 번째 슬라이드 가져오기
var sld = presentation.getSlides().get_Item(0);
// 직사각형 형태의 AutoShape 추가
var ashp = sld.getShapes().addAutoShape(aspose.slides.ShapeType.Rectangle, 150, 75, 150, 50);
// Rectangle에 ITextFrame 추가
ashp.addTextFrame("Hello World");
// 텍스트 색상을 검은색으로 변경 (기본값은 흰색)
ashp.getTextFrame().getParagraphs().get_Item(0).getPortions().get_Item(0).getPortionFormat().getFillFormat()
.setFillType(java.newByte(aspose.slides.FillType.Solid));
ashp.getTextFrame().getParagraphs().get_Item(0).getPortions().get_Item(0).getPortionFormat().getFillFormat()
.getSolidFillColor().setColor(colorBlack);
// 사각형의 선 색상을 흰색으로 변경
ashp.getShapeStyle().getLineColor().setColor(colorWhite);
// 도형의 채우기 서식을 제거합니다.
ashp.getFillFormat().setFillType(java.newByte(aspose.slides.FillType.NoFill));
// 프레젠테이션 저장
presentation.save("NewPresentation.pptx", aspose.slides.SaveFormat.Pptx);
Node.js에서 PowerPoint PPT에 차트 생성하기
- Presentation 클래스의 인스턴스를 생성하고 차트를 생성할 PowerPoint의 경로를 전달합니다.
- 인덱스를 통해 차트를 생성할 슬라이드의 참조를 가져옵니다.
- addChart 메서드를 통해 원하는 차트를 추가합니다.
- 차트 제목을 추가합니다.
- 차트 데이터 워크시트에 접근합니다.
- 모든 기본 시리즈 및 카테고리를 제거합니다.
- 새로운 시리즈 및 카테고리를 추가합니다.
- 차트 시리즈에 대한 새로운 차트 데이터를 추가합니다.
- 차트 시리즈에 대한 채우기 색상을 설정합니다.
- 차트 시리즈 레이블을 추가합니다.
- PPT 파일로 프레젠테이션을 저장합니다.
var colorGreen = java.getStaticFieldValue("java.awt.Color", "GREEN");
var colorRed = java.getStaticFieldValue("java.awt.Color", "RED");
// PPTX 파일을 나타내는 프레젠테이션 클래스 인스턴스화
var pres = new aspose.slides.Presentation();
// 첫 번째 슬라이드 접근
var sld = pres.getSlides().get_Item(0);
// 기본 데이터로 차트 추가
var chart = sld.getShapes().addChart(aspose.slides.ChartType.ClusteredColumn, 0, 0, 500, 500);
// 차트 제목 설정
chart.getChartTitle().addTextFrameForOverriding("샘플 제목");
chart.getChartTitle().getTextFrameForOverriding().getTextFrameFormat().setCenterText(java.newByte(aspose.slides.NullableBool.True));
chart.getChartTitle().setHeight(20);
chart.hasTitle();
// 첫 번째 시리즈에 값 표시
chart.getChartData().getSeries().get_Item(0).getLabels().getDefaultDataLabelFormat().setShowValue(true);
// 차트 데이터 시트의 인덱스 설정
var defaultWorksheetIndex = 0;
// 차트 데이터 워크시트 가져오기
var fact = chart.getChartData().getChartDataWorkbook();
// 기본 생성된 시리즈 및 카테고리 제거
chart.getChartData().getSeries().clear();
chart.getChartData().getCategories().clear();
var s = chart.getChartData().getSeries().size();
s = chart.getChartData().getCategories().size();
// 새로운 시리즈 추가
chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 1, "시리즈 1"), chart.getType());
chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 2, "시리즈 2"), chart.getType());
// 새로운 카테고리 추가
chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 1, 0, "카테고리 1"));
chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 2, 0, "카테고리 2"));
chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 3, 0, "카테고리 3"));
// 첫 번째 차트 시리즈 가져오기
var series = chart.getChartData().getSeries().get_Item(0);
// 이제 시리즈 데이터를 채웁니다.
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 1, 1, 20));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 2, 1, 50));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 3, 1, 30));
// 시리즈에 대한 채우기 색상 설정
series.getFormat().getFill().setFillType(java.newByte(aspose.slides.FillType.Solid));
series.getFormat().getFill().getSolidFillColor().setColor(colorRed);
// 두 번째 차트 시리즈 가져오기
series = chart.getChartData().getSeries().get_Item(1);
// 시리즈 데이터 채우기
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 1, 2, 30));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 2, 2, 10));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 3, 2, 60));
// 시리즈에 대한 채우기 색상 설정
series.getFormat().getFill().setFillType(java.newByte(aspose.slides.FillType.Solid));
series.getFormat().getFill().getSolidFillColor().setColor(colorGreen);
// 새로운 시리즈의 각 카테고리에 대한 사용자 정의 레이블 생성
// 첫 번째 레이블을 카테고리 이름으로 표시
var lbl = series.getDataPoints().get_Item(0).getLabel();
lbl.getDataLabelFormat().setShowCategoryName(true);
// 두 번째 레이블을 시리즈 이름으로 표시
lbl = series.getDataPoints().get_Item(1).getLabel();
lbl.getDataLabelFormat().setShowSeriesName(true);
// 세 번째 레이블에 값을 표시
lbl = series.getDataPoints().get_Item(2).getLabel();
lbl.getDataLabelFormat().setShowValue(true);
lbl.getDataLabelFormat().setShowSeriesName(true);
lbl.getDataLabelFormat().setSeparator("/");
// 차트가 있는 프레젠테이션 저장
pres.save("NewPresentation.pptx", aspose.slides.SaveFormat.Pptx);
Node.js에서 PPT에 이미지 추가하기
- Presentation 클래스의 인스턴스를 생성합니다.
- 인덱스를 통해 이미지를 추가할 슬라이드의 참조를 가져옵니다.
- IImagescollection과 관련된 프레젠테이션 객체에 이미지를 추가하여 IPPImage 객체를 생성합니다.
- 이미지의 너비와 높이를 지정합니다.
- 참조된 슬라이드와 관련된 도형 객체에서 노출된
AddPictureFrame
메서드를 통해 이미지의 너비와 높이에 기반하여 PictureFrame을 생성합니다. - 슬라이드에 이미지를 포함하는 그림 프레임을 추가합니다.
- 프레젠테이션을 PPT 파일로 저장합니다.
var fileStream = fs.createReadStream("image.png");
aspose.slides.readBytesFromStream(fileStream, function (imgArray) {
var pres = new aspose.slides.Presentation();
var img = pres.getImages().addImage(imgArray);
pres.getSlides().get_Item(0).getShapes().addPictureFrame(aspose.slides.ShapeType.Rectangle, 10, 10, 200, 200, img);
pres.save("NewPresentation.pptx", aspose.slides.SaveFormat.Pptx);
});
결론
이 기사에서는 Node.js에서 PowerPoint를 생성하고 몇 줄의 Node.js 코드를 실행하여 다른 작업을 수행하는 방법에 대해 설명했습니다. 모든 것을 쉽게 만드는 강력한 PowerPoint API에 대해 더 알고 싶을 것입니다.