Node.jsでPowerPointを作成

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

// 矩形に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);

// 2番目のチャート系列を取得
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);

// 2番目のラベルを系列名を表示するように設定
lbl = series.getDataPoints().get_Item(1).getLabel();
lbl.getDataLabelFormat().setShowSeriesName(true);

// 3番目のラベルに値を表示
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についてさらに学びたいかもしれません。

関連情報