Create PowerPoint in Node.js

Microsoft PowerPoint 애플리케이션(Windows, macOS 및 기타 플랫폼에서 사용 가능)을 사용하면 텍스트, 이미지, 차트, 애니메이션 및 기타 여러 요소가 포함된 프레젠테이션 및 슬라이드 쇼를 생성할 수 있습니다.

이 기사를 읽고 나면 Node.js에서 PowerPoint를 생성하는 방법과 node.js 코드를 실행하여 프레젠테이션에 다양한 콘텐츠를 추가하는 방법을 배우게 될 것입니다.

Node.js PowerPoint API 가져오기

Aspose.Slides 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에서 PowerPoint PPT 생성하기

  1. Presentation 클래스의 인스턴스를 생성합니다.
  2. 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 열기

  1. Presentation 클래스의 인스턴스를 생성하고 열고자 하는 PowerPoint의 경로를 클래스 생성자에 전달합니다.
  2. 작업을 수행합니다. 슬라이드에 일부 콘텐츠를 추가할 수 있습니다. 아무 작업도 하지 않을 수 있습니다.
  3. 프레젠테이션을 저장합니다.
// 프레젠테이션 파일을 나타내는 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에 슬라이드 추가하기

  1. Presentation 클래스의 인스턴스를 생성하고 슬라이드를 추가할 PowerPoint의 경로를 전달합니다.
  2. getSlides() 메서드에 대한 참조를 설정하여 ISlideCollection 클래스를 인스턴스화합니다.
  3. ISlideCollection 객체에서 노출된 addEmptySlide(ILayoutSlide) 메서드를 통해 프레젠테이션에 빈 슬라이드를 추가합니다.
  4. 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에 텍스트 추가하기

  1. Presentation 클래스의 인스턴스를 생성하고 텍스트를 추가할 PowerPoint의 경로를 전달합니다.
  2. 인덱스를 통해 텍스트를 추가할 슬라이드의 참조를 가져옵니다.
  3. addAutoShape() 메서드를 통해 사각형을 추가하고 IAutoShape 객체에 참조를 가져옵니다.
  4. 텍스트를 포함하는 TextFrame을 도형에 추가합니다.
  5. 채우기 색상, 채우기 유형 등 텍스트에 원하는 속성을 설정합니다.
  6. 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에 차트 생성하기

  1. Presentation 클래스의 인스턴스를 생성하고 차트를 생성할 PowerPoint의 경로를 전달합니다.
  2. 인덱스를 통해 차트를 생성할 슬라이드의 참조를 가져옵니다.
  3. addChart 메서드를 통해 원하는 차트를 추가합니다.
  4. 차트 제목을 추가합니다.
  5. 차트 데이터 워크시트에 접근합니다.
  6. 모든 기본 시리즈 및 카테고리를 제거합니다.
  7. 새로운 시리즈 및 카테고리를 추가합니다.
  8. 차트 시리즈에 대한 새로운 차트 데이터를 추가합니다.
  9. 차트 시리즈에 대한 채우기 색상을 설정합니다.
  10. 차트 시리즈 레이블을 추가합니다.
  11. 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에 이미지 추가하기

  1. Presentation 클래스의 인스턴스를 생성합니다.
  2. 인덱스를 통해 이미지를 추가할 슬라이드의 참조를 가져옵니다.
  3. IImagescollection과 관련된 프레젠테이션 객체에 이미지를 추가하여 IPPImage 객체를 생성합니다.
  4. 이미지의 너비와 높이를 지정합니다.
  5. 참조된 슬라이드와 관련된 도형 객체에서 노출된 AddPictureFrame 메서드를 통해 이미지의 너비와 높이에 기반하여 PictureFrame을 생성합니다.
  6. 슬라이드에 이미지를 포함하는 그림 프레임을 추가합니다.
  7. 프레젠테이션을 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에 대해 더 알고 싶을 것입니다.

참고 사항

  • Aspose.Slides for Node.js via Java 기능을 확인하십시오.
  • Aspose.Slides for Node.js via Java 문서를 참조하십시오.