Node.js via .NET でプレゼンテーションを開く

概要

Aspose.Slides for Node.js via .NET は、PowerPoint および OpenDocument プレゼンテーション(PPTX、PPT、ODP ファイルなど)をファイルパスまたは Node.js Buffer から開きます。この記事では、両方の方法を示し、スライド数を取得し、開いたプレゼンテーションを別の形式で保存します。

例では、Installation で設定したプロジェクトフォルダーに sample.pptx という名前のプレゼンテーションがあることを想定しています。任意の PowerPoint プレゼンテーションで構いません。各例をプロジェクトフォルダー内に .js ファイルとして保存し、そのフォルダーから node で実行してください。

ファイルからプレゼンテーションを開く

プレゼンテーションを開くには、そのパスを Presentation コンストラクタに渡します。Aspose.Slides は拡張子ではなくファイル内容から形式を検出するため、同じコードで PPTX、PPT、ODP ファイルを開くことができます。相対パスは現在の作業ディレクトリに対して解決され、スクリプトをそのフォルダーから実行するとプロジェクトフォルダーが基準になります。

const { Presentation } = require("aspose.slides.via.net");

const presentation = new Presentation("sample.pptx");
try {
    console.log("Slide count: " + presentation.slides.count);
} finally {
    presentation.dispose();
}

スクリプトは sample.pptx のスライド数を出力します(例: Slide count: 9)。slides コレクションの count プロパティには非表示スライドも含まれます。例のように finally ブロックで dispose を呼び出し、コードが失敗した場合でもプレゼンテーション背後の .NET リソースが解放されるようにしてください。

バッファからプレゼンテーションを開く

プレゼンテーションがデータベース、HTTP アップロード、またはファイルパスではなくバイト列として提供される場合は、2 番目のコンストラクタ引数に Node.js Buffer を、1 番目に null を渡します。次の例は sample.pptx をバッファに読み込み、そうしたソースの代わりに使用しています。

const fs = require("fs");
const { Presentation } = require("aspose.slides.via.net");

const presentationData = fs.readFileSync("sample.pptx");

const presentation = new Presentation(null, presentationData);
try {
    console.log("Slide count: " + presentation.slides.count);
} finally {
    presentation.dispose();
}

スクリプトは前の例と同じスライド数を出力します。2 番目の引数は必ず Buffer でなければなりません。Uint8Array など他の型を渡すとエラーは報告されず、空のスライドが 1 枚ある新しいプレゼンテーションが作成されます。まず Buffer.from で他のバイナリ型を変換してください。

別の形式でプレゼンテーションを保存する

プレゼンテーションを別の形式に変換するには、開いた後に異なる SaveFormat の値で保存します。次の例は Aspose.Slides が検出した形式(sourceFormat プロパティが返す)を表示し、OpenDocument プレゼンテーションとして保存します。

const { Presentation, SaveFormat } = require("aspose.slides.via.net");

const presentation = new Presentation("sample.pptx");
try {
    console.log("Source format: " + presentation.sourceFormat);
    presentation.save("sample.odp", SaveFormat.Odp);
} finally {
    presentation.dispose();
}

スクリプトは Source format: Pptx と出力し、同じスライドを含む sample.odp を作成します。sourceFormat は Ppt、Pptx、Odp のいずれかを返します。PDF や画像として保存したい場合は、Convert PowerPoint to PDF および Convert Slides to Images を参照してください。

FAQ

パスワードで保護されたプレゼンテーションを開くにはどうすればよいですか?

LoadOptions オブジェクトを作成し、その password プロパティにパスワードを設定して、3 番目のコンストラクタ引数として渡します:new Presentation("protected.pptx", null, loadOptions)。正しいパスワードがない場合、コンストラクタはエラーをスローします。

なぜコンストラクタが空のメッセージで Error をスローするのですか?

.NET で Presentation コンストラクタが失敗すると(例: ファイルが存在しない、プレゼンテーションではない、別のパスワードが必要など)、JavaScript 側にはメッセージが空の Error が渡されます。ファイルを開く前に、fs.existsSync などで作業ディレクトリからの相対パスで存在するか確認してください。

開くことができる形式は何ですか?

PowerPoint および OpenDocument のプレゼンテーション形式で、PPT、PPTX、PPS、POT、POTX、PPTM、ODP、OTP、FODP がサポートされています。