JavaScript で PDF ドキュメントを編集

概要

Aspose.Slides for Node.js via Java は、PDF のページをスライドとしてインポートし、プレゼンテーションを編集して再び PDF にエクスポートすることで、PDF コンテンツを編集できます。本記事では、簡単なテキスト置換の方法を示します。プレゼンテーションはメモリ上に保持されるため、途中で PPTX ファイルを保存する必要は任意です。

PDF内のテキスト置換

addFromPdf を使用してページをインポートし、replaceText でテキストを更新し、save で結果をエクスポートします。

次の例では、input.pdf にインポート後に編集可能なテキストとして「Draft」という単語が含まれていることを前提としています。この単語を「Final」に置換し、edited.pdf として書き出します。インポート前に最初のスライドをクリアすることで、出力に余分な空白ページが入るのを防ぎます。検索は大文字小文字を区別した完全一致(単語単位)です。null は結果コールバックが不要であることを意味します。

const slides = require("aspose.slides.via.java");

const presentation = new slides.Presentation();
try {
    presentation.getSlides().removeAt(0);

    presentation.getSlides().addFromPdf("input.pdf");

    const searchOptions = new slides.TextSearchOptions();
    searchOptions.setWholeWordsOnly(true);
    searchOptions.setCaseSensitive(true);
    presentation.replaceText("Draft", "Final", searchOptions, null);

    presentation.save("edited.pdf", slides.SaveFormat.Pdf);
} finally {
    presentation.dispose();
}

さらに詳しいオプションについては、Search and Replace TextConvert PowerPoint to PDF を参照してください。

よくある質問

PDFにエクスポートする前にPPTXファイルを保存する必要がありますか?

いいえ。メモリ上の同じプレゼンテーションを編集してエクスポートできます。PowerPoint で引き続き編集したい場合のみ、PPTX のコピーを保存してください。詳しくは Save Presentations を参照してください。

なぜ一部のテキストが変更されないままになることがありますか?

この例では、完全一致かつ大文字小文字が同一の単語「Draft」のみを対象としています。画像としてインポートされたテキストや、別々のテキストフレームに分割されたテキストは検索に一致しない可能性があります。インポートされたコンテンツを確認し、ドキュメントに合わせて検索条件を調整してください。