Node.js via .NET で PowerPoint を PDF に変換

概要

Aspose.Slides for Node.js via .NET は、Microsoft PowerPoint を使用せずに PowerPoint および OpenDocument のプレゼンテーションを PDF に変換します。表示されている各スライドはスライドと同じサイズの PDF ページとなり、テキストは選択可能で検索可能です。この記事では、デフォルトの変換と PdfOptions を使用した PDF/A への変換を紹介します。

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

プレゼンテーションをPDFに変換

プレゼンテーションを PDF に変換する手順は次のとおりです。

  1. プレゼンテーションのパスを Presentation コンストラクターに渡して開きます。このコードは PPTX、PPT、ODP ファイルすべてで動作します。
  2. 出力パスと SaveFormat.Pdf を指定して save メソッドを呼び出します。
  3. finally ブロック内で dispose を呼び出し、プレゼンテーションを支える .NET リソースを解放します。
const { Presentation, SaveFormat } = require("aspose.slides.via.net");

const presentation = new Presentation("sample.pptx");
try {
    presentation.save("sample.pdf", SaveFormat.Pdf);
    console.log("Saved sample.pdf");
} finally {
    presentation.dispose();
}

スクリプトは sample.pdf をプロジェクトフォルダーに書き込みます。変換はデフォルト設定で実行され、非表示でないすべてのスライドがスライド順にページとなります。ライセンスがない場合、各ページに評価用の透かしが表示されます。詳細は Licensing を参照してください。

プレゼンテーションをPDF/Aに変換

出力を制御するには、save の第3引数に PdfOptions オブジェクトを渡します。以下の例では、compliance プロパティを PdfCompliance.PdfA2b に設定し、PDF/A-2b ファイルを生成しています。PDF/A は長期保存用の ISO 標準で、ドキュメントで使用されるすべてのフォントをファイルに埋め込むことが求められます。

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

const pdfOptions = new PdfOptions();
pdfOptions.compliance = PdfCompliance.PdfA2b;

const presentation = new Presentation("sample.pptx");
try {
    presentation.save("sample-pdfa.pdf", SaveFormat.Pdf, pdfOptions);
    console.log("Saved sample-pdfa.pdf");
} finally {
    presentation.dispose();
}

スクリプトはデフォルト変換と同じページ構成で sample-pdfa.pdf を書き込みます。ファイルが標準に準拠しているか確認するには、veraPDF などの PDF/A バリデータで検証してください。他の PdfCompliance 値を使用すると、PdfA1b、PdfA2a、アクセシビリティ向けの PdfUa など、別の標準を選択できます。

FAQ

PDF に非表示スライドを含めるにはどうすればよいですか?

非表示スライドはデフォルトでスキップされます。PdfOptions の showHiddenSlides プロパティを true に設定し、オプションを save に渡してください。

PDF にパスワード保護を設定できますか?

はい。PdfOptions の password プロパティを save を呼び出す前に設定します。PDF リーダーはファイルを開く際にパスワードの入力を求めます。

一部のスライドだけを変換できますか?

はい。save の第4引数にスライド位置の配列を渡します。位置は 1 から始まり、オプションが不要な場合は第3引数に null を指定できます。例: presentation.save("selected.pdf", SaveFormat.Pdf, null, [1, 3]) は 1 枚目と 3 枚目のスライドだけを含む PDF を生成します。

Linux で変換するとテキストの見た目が変わるのはなぜですか?

Aspose.Slides は変換を実行するマシンにインストールされているフォントしか使用できません。プレゼンテーションで使用されているフォントが不足している場合(例: 一般的な Linux サーバーに Calibri がない場合)、代替フォントが使用され、テキストの外観や改行位置が変わります。Windows と同じ結果を得るには、使用しているフォントをサーバーにインストールしてください。

PDF をファイルではなく Buffer として取得できますか?

はい。presentation.saveToBuffer(SaveFormat.Pdf) は PDF を Node.js の Buffer として返します。HTTP 応答で結果を送信する際に便利です。また、第二引数に PdfOptions を渡すこともできます。