Редактирование 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.
Note
Замена текста работает с импортированным текстом, а не с текстом внутри отсканированных изображений. Конверсия может влиять на макет и форматирование, поэтому проверьте результат, особенно если заменяемый текст длиннее исходного.FAQ
Нужно ли сохранять файл PPTX перед экспортом в PDF?
Нет. Вы можете редактировать и экспортировать одну и ту же презентацию в памяти. Сохраните копию PPTX только в том случае, если хотите продолжать редактировать её в PowerPoint; см. Save Presentations.
Почему некоторый текст может остаться без изменений?
В примере ищется полное слово «Draft» с точным совпадением регистра. Текст, импортированный как изображение, или разбитый по отдельным текстовым фреймам, может не соответствовать поиску. Проверьте импортируемое содержимое и скорректируйте запрос для вашего документа.