Редактирование PDF-документов в PHP

Обзор

Aspose.Slides for PHP via Java позволяет редактировать содержимое 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();
}

Для дополнительных вариантов см. Search and Replace Text и Convert PowerPoint to PDF.

Вопросы и ответы

Нужно ли сохранять файл PPTX перед экспортом в PDF?

Нет. Вы можете редактировать и экспортировать одну и ту же презентацию в памяти. Сохраняйте копию PPTX только если хотите продолжить её редактирование в PowerPoint; см. Save Presentations.

Почему часть текста может остаться неизменной?

В примере ищется полное слово «Draft» с точным регистром. Текст, импортированный как изображение, или разбитый на отдельные текстовые кадры, может не соответствовать поиску. Проверьте импортированное содержимое и скорректируйте поиск под ваш документ.