PHPでPDF文書を編集

概要

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

PDF のテキスト置換

ページをインポートするには SlideCollection::addFromPdf を使用し、テキストを更新するには Presentation::replaceText を使用し、結果をエクスポートするには Presentation::save を使用します。

以下の例は、インポート後に input.pdf に「Draft」という編集可能なテキストが含まれていることを想定しています。その単語を「Final」に置き換えて edited.pdf として書き出します。インポート前に最初のスライドをクリアすることで、出力に余分な空白ページが入るのを防ぎます。検索は同一ケースの完全な単語にマッチします。null は結果コールバックが不要であることを意味します。

use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
use aspose\slides\TextSearchOptions;

$presentation = new Presentation();
try {
    $presentation->getSlides()->removeAt(0);

    $presentation->getSlides()->addFromPdf("input.pdf");

    $searchOptions = new TextSearchOptions();
    $searchOptions->setWholeWordsOnly(true);
    $searchOptions->setCaseSensitive(true);
    $presentation->replaceText("Draft", "Final", $searchOptions, null);

    $presentation->save("edited.pdf", SaveFormat::Pdf);
} finally {
    $presentation->dispose();
}

その他のオプションについては、テキストの検索と置換 および PowerPoint を PDF に変換 を参照してください。

よくある質問

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

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

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

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