Create PowerPoint in Node.js

แอป Microsoft PowerPoint (บน Windows, macOS และแพลตฟอร์มอื่น ๆ) ช่วยให้คุณสามารถสร้างการนำเสนอและสไลด์โชว์ที่มีข้อความ ภาพ กราฟ แอนิเมชัน และองค์ประกอบอื่น ๆ อีกมากมาย

เมื่อคุณอ่านบทความนี้เสร็จ คุณจะได้เรียนรู้ วิธีการสร้าง PowerPoint ใน Node.js และเพิ่มเนื้อหาทุกประเภทไปยังการนำเสนอโดยการรันโค้ดใน node.js

รับ Node.js PowerPoint API

Aspose.Slides Node.js PowerPoint API

Aspose.Slides for Node.js via Java เป็น API ที่ทรงพลังซึ่งให้ทุกสิ่งที่นักพัฒนาและแอปพลิเคชันต้องการในการสร้าง เปิด แปลง และจัดการเอกสาร PowerPoint ใน node.js และแอปพลิเคชันฝั่งเซิร์ฟเวอร์ JavaScript

คุณสามารถติดตั้ง Aspose.Slides สำหรับ Node.js ผ่าน Java จาก NPM โดยการรันคำสั่งนี้:

npm install aspose.slides.via.java

หากคุณพบปัญหาในระหว่างกระบวนการติดตั้ง โปรดดูที่ หน้าผลิตภัณฑ์

หมายเหตุ:

สร้าง PowerPoint PPT ใน Node.js

  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);

เปิด PowerPoint PPT ใน Node.js

  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);

เพิ่มสไลด์ไปยัง PowerPoint PPTX ใน Node.js

  1. สร้างอินสแตนซ์ของคลาส Presentation และส่งพาธไปยัง PowerPoint ที่คุณต้องการเพิ่มสไลด์
  2. สร้างอินสแตนซ์ของคลาส ISlideCollection โดยตั้งค่าการอ้างอิงไปยังเมธอด getSlides()
  3. เพิ่มสไลด์ว่างไปยังการนำเสนอผ่านเมธอด addEmptySlide(ILayoutSlide) ที่เปิดเผยโดยวัตถุ ISlideCollection
  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);

เพิ่มข้อความไปยัง 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);

// เพิ่ม ITextFrame ลงในสี่เหลี่ยม
ashp.addTextFrame("สวัสดีชาวโลก");

// เปลี่ยนสีข้อความเป็นสีดำ (ซึ่งเป็นสีขาวตามค่าเริ่มต้น)
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);

สร้างกราฟใน 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);

เพิ่มภาพไปยัง PPT ใน Node.js

  1. สร้างอินสแตนซ์ของคลาส Presentation
  2. รับการอ้างอิงของสไลด์ที่คุณต้องการเพิ่มภาพผ่านดัชนีของมัน
  3. สร้างวัตถุ IPPImage โดยการเพิ่มภาพไปยัง IImagescollection ที่เกี่ยวข้องกับวัตถุการนำเสนอซึ่งจะใช้ในการเติมรูปทรง
  4. ระบุความกว้างและความสูงของภาพ
  5. สร้าง PictureFrame ตามความกว้างและความสูงของภาพผ่านเมธอด AddPictureFrame ที่เปิดเผยโดยวัตถุรูปทรงที่เกี่ยวข้องกับสไลด์ที่อ้างอิง
  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);    
});

สรุป

ในบทความนี้เราได้พาคุณผ่านการดำเนินการในการสร้าง PowerPoint ใน Node.js และทำงานอื่น ๆ โดยการรันโค้ด Node.js เพียงไม่กี่บรรทัด คุณอาจสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับ API PowerPoint ที่ทรงพลังซึ่งทำให้ทุกอย่างง่ายขึ้น

ดูเพิ่มเติม

  • ฟีเจอร์ของ Aspose.Slides สำหรับ Node.js ผ่าน Java features.
  • เอกสาร Aspose.Slides สำหรับ Node.js ผ่าน Java documentation.