Редактирование PDF-документов в Python через Java

Обзор

Aspose.Slides for Python via Java позволяет редактировать содержимое PDF, импортируя его страницы как слайды, изменяя презентацию и экспортируя её обратно в PDF. Эта статья демонстрирует простую замену текста. Презентация остаётся в памяти, поэтому сохранение промежуточного файла PPTX является необязательным.

Замена текста в PDF

Используйте addFromPdf для импорта страниц, replaceText для обновления текста и save для экспорта результата.

Следующий пример предполагает, что input.pdf содержит слово «Draft» в виде редактируемого текста после импорта. Он заменяет это слово на «Final» и сохраняет файл edited.pdf. Очистка начального слайда перед импортом предотвращает появление лишней пустой страницы в выводе. Поиск сопоставляет полные слова с учётом регистра; None означает, что обратный вызов результата не требуется.

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Presentation, SaveFormat, TextSearchOptions

presentation = Presentation()
try:
    presentation.getSlides().removeAt(0)

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

    search_options = TextSearchOptions()
    search_options.setWholeWordsOnly(True)
    search_options.setCaseSensitive(True)
    presentation.replaceText("Draft", "Final", search_options, None)

    presentation.save("edited.pdf", SaveFormat.Pdf)
finally:
    presentation.dispose()

Для получения дополнительных вариантов см. Поиск и замена текста и Конвертация PowerPoint в PDF.

FAQ

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

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

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

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