При обработке цифровых документов часто требуется найти и заменить определенный текст в содержимом. Это может потребоваться, когда часть информации должна быть подвергнута цензуре перед передачей документов. Чтобы выполнить это программно, в этой статье рассказывается, как найти и заменить текст в PowerPoint PPT или PPTX в Python.
Библиотека Python для поиска и замены текста в PowerPoint PPT
Aspose.Slides for Python через .NET — замечательная библиотека, упрощающая работу с презентациями PowerPoint из приложений Python. Более того, вы можете легко создавать насыщенные презентации с нуля. Мы будем использовать эту библиотеку для поиска и замены текста в файлах PPT/PPTX. Вы можете использовать следующую команду pip для установки библиотеки из PyPI.
> pip install aspose.slides
Поиск и замена текста в PowerPoint PPT с использованием Python
Чтобы заменить тот или иной фрагмент текста в презентации, вам придется пройтись по содержимому всех слайдов, что довольно просто сделать с помощью Aspose.Slides. Ниже приведены шаги по поиску и замене текста в презентации PPTX в Python.
- Сначала загрузите PowerPoint PPT/PPTX с помощью класса Presentation.
- Затем просмотрите слайды, используя коллекцию Presentation.slides.
- На каждой итерации получайте текстовые рамки слайда с помощью метода SlideUtil.getalltextboxes(slide).
- Перебирайте текстовые фреймы и на каждой итерации выполняйте следующие операции:
- Прокрутите абзацы в текстовом фрейме.
- Доступ к текстовым частям в каждом абзаце.
- Проверьте, содержит ли текстовая часть строку поиска.
- Если да, найдите позицию строки поиска и замените текст.
- Сохраните обновленный PPT, используя метод Presentation.save(string, SaveFormat).
В следующем примере кода показано, как найти и заменить текст в PowerPoint PPTX в Python.
import aspose.slides as slides
# load presentation
with slides.Presentation("presentation.pptx") as pres:
strToFind = "Master"
strToReplaceWith = "[replaced]"
# loop through each slide
for slide in pres.slides:
# get all text frames in the slide
tf = slides.util.SlideUtil.get_all_text_boxes(slide)
# loop through text frames
for i in range(len(tf)):
# loop through paragraphs in text frame
for para in tf[i].paragraphs:
# loop through text portions in paragraph
for port in para.portions:
# check if search string appears in text portion
if strToFind in port.text:
# replace exisitng text with the new text
str = port.text
idx = str.index(strToFind)
strStartText = str[0: idx]
strEndText = str[idx + len(strToFind): len(str)]
port.text = strStartText + strToReplaceWith + strEndText
# save the presentation
pres.save("find-and-replace-text.pptx", slides.export.SaveFormat.PPTX)
На следующем снимке экрана показана входная презентация PowerPoint.
Ниже приведен скриншот результирующей презентации после замены текста.
Получить бесплатную лицензию
Вы можете использовать Aspose.Slides для Python через .NET без ограничений на оценку, запросив временную лицензию.
Вывод
В этой статье вы узнали, как найти и заменить текст в PowerPoint PPT на Python. Вы можете установить Aspose.Slides и автоматизировать поиск и замену текста в своих приложениях Python. Кроме того, вы можете прочитать документацию, чтобы узнать больше об Aspose.Slides для Python. Кроме того, вы можете оставлять свои вопросы на нашем форуме.
Смотрите также
- Создание файлов PowerPoint в Python
- Добавление текстового или графического водяного знака в PowerPoint PPT на Python
- Применение эффектов анимации к тексту в PowerPoint PPT на Python
Информация: Aspose недавно разработал бесплатный онлайн-сервис Text to GIF, который позволяет анимировать тексты или создавать GIF-файлы из простых текстов.