Create PowerPoint in Node.js

Aplikacja Microsoft PowerPoint (na Windows, macOS i innych platformach) umożliwia tworzenie prezentacji i pokazów slajdów zawierających teksty, obrazy, wykresy, animacje i wiele innych elementów.

W momencie, gdy skończysz czytać ten artykuł, nauczysz się jak tworzyć PowerPoint w Node.js i dodawać wszelkiego rodzaju treści do prezentacji, uruchamiając kod w node.js.

Pobierz API PowerPoint Node.js

Aspose.Slides Node.js PowerPoint API

Aspose.Slides dla Node.js przez Java to potężne API, które zapewnia wszystko, czego potrzebują deweloperzy i aplikacje do tworzenia, otwierania, konwertowania i manipulowania dokumentami PowerPoint w aplikacjach node.js i javascript po stronie serwera.

Możesz zainstalować Aspose.Slides dla Node.js przez Java z NPM uruchamiając to polecenie:

npm install aspose.slides.via.java

Jeśli napotkasz jakiekolwiek problemy podczas procesu instalacji, zobacz tę stronę produktu.

Uwagi:

Tworzenie PowerPoint PPT w Node.js

  1. Utwórz instancję klasy Presentation.
  2. Zapisz obiekt przez metodę Presentation.save(String, SaveFormat).
// Utwórz obiekt Presentation, który reprezentuje plik prezentacji
var presentation = new aspose.slides.Presentation();

// Pobierz pierwszy slajd
var slide = presentation.getSlides().get_Item(0);

// Dodaj treść do slajdu...

// Zapisz prezentację
presentation.save("NewPresentation.pptx", aspose.slides.SaveFormat.Pptx);

Otwieranie PowerPoint PPT w Node.js

  1. Utwórz instancję klasy Presentation i przekaż ścieżkę do PowerPointu, który chcesz otworzyć, do konstrukcji klasy.
  2. Wykonaj zadanie. Możesz dodać treść do slajdu. Możesz nic nie robić.
  3. Zapisz prezentację.
// Utwórz obiekt Presentation, który reprezentuje plik prezentacji
var presentation = new aspose.slides.Presentation("presentation.pptx");

// Pobierz pierwszy slajd
var slide = presentation.getSlides().get_Item(0);

// Dodaj treść do slajdu...

// Zapisz prezentację
presentation.save("NewPresentation.pptx", aspose.slides.SaveFormat.Pptx);

Dodaj slajd do PowerPoint PPTX w Node.js

  1. Utwórz instancję klasy Presentation i przekaż ścieżkę do PowerPointu, do którego chcesz dodać slajd.
  2. Utwórz instancję klasy ISlideCollection ustawiając referencję do metody getSlides().
  3. Dodaj pusty slajd do prezentacji przez metodę addEmptySlide(ILayoutSlide) udostępnianą przez obiekt ISlideCollection.
  4. Zapisz zaktualizowaną prezentację za pomocą metody Presentation.save(String, SaveFormat).
// Utwórz obiekt Presentation, który reprezentuje plik prezentacji
var presentation = new aspose.slides.Presentation("presentation.pptx");

// Uzyskaj kolekcję slajdów
var slds = presentation.getSlides();

for (var i = 0; i < presentation.getLayoutSlides().size(); i++) {
	// Dodaj pusty slajd do kolekcji Slajdów
	slds.addEmptySlide(presentation.getLayoutSlides().get_Item(i));
}

// Zapisz prezentację
presentation.save("NewPresentation.pptx", aspose.slides.SaveFormat.Pptx);

Dodaj tekst do PowerPoint PPT

  1. Utwórz instancję klasy Presentation i przekaż ścieżkę do PowerPointu, do którego chcesz dodać tekst.
  2. Uzyskaj referencję slajdu, do którego chcesz dodać tekst, przez jego indeks.
  3. Dodaj prostokąt za pomocą metody addAutoShape() i uzyskaj jego referencję w obiekcie IAutoShape.
  4. Dodaj TextFrame do kształtu zawierającego tekst.
  5. Ustaw preferowane właściwości dla tekstu, takie jak kolor wypełnienia, typ wypełnienia itp.
  6. Zapisz zaktualizowaną prezentację za pomocą metody save(String, SaveFormat).
var colorBlack = java.getStaticFieldValue("java.awt.Color", "BLACK");
var colorWhite = java.getStaticFieldValue("java.awt.Color", "WHITE");

// Utwórz obiekt Presentation, który reprezentuje plik prezentacji
var presentation = new aspose.slides.Presentation("presentation.pptx");

// Uzyskaj pierwszy slajd
var sld = presentation.getSlides().get_Item(0);

// Dodaj AutoShape typu prostokąt
var ashp = sld.getShapes().addAutoShape(aspose.slides.ShapeType.Rectangle, 150, 75, 150, 50);

// Dodaj ITextFrame do prostokąta
ashp.addTextFrame("Witaj świecie");

// Zmień kolor tekstu na czarny (który jest domyślnie biały)
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);

// Zmień kolor linii prostokąta na biały
ashp.getShapeStyle().getLineColor().setColor(colorWhite);

// Usuń wszelkie formatowanie wypełnienia w kształcie
ashp.getFillFormat().setFillType(java.newByte(aspose.slides.FillType.NoFill));

// Zapisz prezentację
presentation.save("NewPresentation.pptx", aspose.slides.SaveFormat.Pptx);

Tworzenie wykresu w PowerPoint PPT

  1. Utwórz instancję klasy Presentation i przekaż ścieżkę do PowerPointu, w którym chcesz utworzyć wykres.
  2. Uzyskaj referencję slajdu, na którym chcesz utworzyć wykres, przez jego indeks.
  3. Dodaj preferowany wykres za pomocą metody addChart.
  4. Dodaj tytuł wykresu.
  5. Uzyskaj arkusz danych wykresu.
  6. Wyczyść wszystkie domyślne serie i kategorie.
  7. Dodaj nowe serie i kategorie.
  8. Dodaj nowe dane wykresu dla serii wykresu.
  9. Ustaw kolor wypełnienia dla serii wykresu.
  10. Dodaj etykiety serii wykresu.
  11. Zapisz prezentację jako plik PPT.
var colorGreen = java.getStaticFieldValue("java.awt.Color", "GREEN");
var colorRed = java.getStaticFieldValue("java.awt.Color", "RED");

// Utwórz klasę prezentacji, która reprezentuje plik PPTX
var pres = new aspose.slides.Presentation();

// Uzyskaj pierwszy slajd
var sld = pres.getSlides().get_Item(0);

// Dodaj wykres z domyślnymi danymi
var chart = sld.getShapes().addChart(aspose.slides.ChartType.ClusteredColumn, 0, 0, 500, 500);

// Ustaw tytuł wykresu
chart.getChartTitle().addTextFrameForOverriding("Przykładowy tytuł");
chart.getChartTitle().getTextFrameForOverriding().getTextFrameFormat().setCenterText(java.newByte(aspose.slides.NullableBool.True));
chart.getChartTitle().setHeight(20);
chart.hasTitle();

// Ustaw pierwszą serię, aby pokazywała wartości
chart.getChartData().getSeries().get_Item(0).getLabels().getDefaultDataLabelFormat().setShowValue(true);

// Ustaw indeks dla arkusza danych wykresu
var defaultWorksheetIndex = 0;

// Uzyskaj arkusz danych wykresu
var fact = chart.getChartData().getChartDataWorkbook();

// Usuń domyślnie generowane serie i kategorie
chart.getChartData().getSeries().clear();
chart.getChartData().getCategories().clear();
var s = chart.getChartData().getSeries().size();
s = chart.getChartData().getCategories().size();

// Dodaj nowe serie
chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 1, "Seria 1"), chart.getType());
chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 2, "Seria 2"), chart.getType());

// Dodaj nowe kategorie
chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 1, 0, "Kategorie 1"));
chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 2, 0, "Kategorie 2"));
chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 3, 0, "Kategorie 3"));

// Weź pierwszą serię wykresu
var series = chart.getChartData().getSeries().get_Item(0);

// Teraz wypełnij dane serii
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));

// Ustaw kolor wypełnienia dla serii
series.getFormat().getFill().setFillType(java.newByte(aspose.slides.FillType.Solid));
series.getFormat().getFill().getSolidFillColor().setColor(colorRed);

// Weź drugą serię wykresu
series = chart.getChartData().getSeries().get_Item(1);

// Wypełnij dane serii
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));

// Ustaw kolor wypełnienia dla serii
series.getFormat().getFill().setFillType(java.newByte(aspose.slides.FillType.Solid));
series.getFormat().getFill().getSolidFillColor().setColor(colorGreen);

// Utwórz niestandardowe etykiety dla każdej kategorii dla nowej serii
// Ustaw pierwszą etykietę, aby pokazywała nazwę kategorii
var lbl = series.getDataPoints().get_Item(0).getLabel();
lbl.getDataLabelFormat().setShowCategoryName(true);

// Ustaw drugą etykietę, aby pokazywała nazwę serii
lbl = series.getDataPoints().get_Item(1).getLabel();
lbl.getDataLabelFormat().setShowSeriesName(true);

// Pokaż wartość dla trzeciej etykiety
lbl = series.getDataPoints().get_Item(2).getLabel();
lbl.getDataLabelFormat().setShowValue(true);
lbl.getDataLabelFormat().setShowSeriesName(true);
lbl.getDataLabelFormat().setSeparator("/");

// Zapisz prezentację z wykresem
pres.save("NewPresentation.pptx", aspose.slides.SaveFormat.Pptx);

Dodaj obraz do PPT w Node.js

  1. Utwórz instancję klasy Presentation.
  2. Uzyskaj referencję slajdu, na którym chcesz dodać obraz, przez jego indeks.
  3. Utwórz obiekt IPPImage dodając obraz do IImagescollection związanej z obiektem prezentacji, który będzie używany do wypełnienia kształtu.
  4. Określ szerokość i wysokość obrazu.
  5. Utwórz PictureFrame na podstawie szerokości i wysokości obrazu za pomocą metody AddPictureFrame udostępnianej przez obiekt kształtu związany z odniesionym slajdem.
  6. Dodaj ramkę obrazu (zawierającą obraz) do slajdu.
  7. Zapisz prezentację jako plik 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);    
});

Podsumowanie

W tym artykule przeszliśmy przez operacje tworzenia PowerPoint w Node.js i wykonywania innych zadań po prostu uruchamiając kilka linii kodu Node.js. Możesz być zainteresowany dalszymi informacjami na temat potężnego API PowerPoint, które ułatwia wszystko.

Zobacz także

  • Funkcje Aspose.Slides dla Node.js przez Java features.
  • Dokumentacja Aspose.Slides dla Node.js przez Java documentation.