Добавить водяной знак в PowerPoint PPT на Python

Водяные знаки обычно используются для защиты документа или для указания его владельца. С другой стороны, они используются для отображения статуса документа, такого как рукопись, черновик и т. д. В этой статье мы покажем, как вставлять водяные знаки в презентации PowerPoint. Вы узнаете, как добавить текстовый или графический водяной знак на слайды PowerPoint PPT в Python.

Библиотека Python для добавления водяных знаков в слайды PowerPoint

Чтобы добавить или удалить водяные знаки на слайдах PPT, мы будем использовать Aspose.Slides для Python через .NET. Библиотека позволяет легко создавать презентации PowerPoint и управлять ими из приложений Python. Используйте следующую команду pip для установки библиотеки из PyPI.

> pip install aspose.slides

Добавить водяной знак в слайды PowerPoint PPT в Python

На слайды PowerPoint можно добавить два типа водяных знаков: изображение и текст. В водяных знаках на основе изображений изображение добавляется к слайдам PPT. При этом текстовый фрагмент размещается на слайдах в случае текстового водяного знака. Следующие разделы явно охватывают оба типа водяных знаков.

Добавить текстовый водяной знак на слайды PowerPoint в Python

Ниже приведены шаги по добавлению текстового водяного знака на слайды PPT в Python.

  • Сначала загрузите PowerPoint PPT/PPTX с помощью класса Presentation.
  • Получите ссылку на слайд, на который вы хотите добавить водяной знак.
  • Рассчитать положение водяного знака.
  • Добавьте новую автоформу для водяного знака, используя метод addautoshape().
  • Добавьте текстовую рамку к фигуре с помощью метода addtextframe().
  • Установите размер шрифта, цвет, порядок и угол поворота водяного знака.
  • Заблокируйте водяной знак, чтобы избежать удаления или модификации.
  • Наконец, сохраните обновленный файл PowerPoint с помощью метода Presentation.save(string, SaveFormat).

В следующем примере кода показано, как добавить текстовый водяной знак на слайды PowerPoint.

import aspose.slides as slides
import aspose.pydrawing as drawing

# load presentation
with slides.Presentation("presentation.pptx") as presentation:
    # select slide
    slide = presentation.slides[0]

    # set watermark position
    center = drawing.PointF(presentation.slide_size.size.width / 2, presentation.slide_size.size.height / 2)
    width = 300
    height = 300
    x = center.x - width / 2
    y = center.y - height / 2

    # add watermark
    watermarkShape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, x, y, height, width)
    watermarkShape.name = "watermark"
    watermarkShape.fill_format.fill_type = slides.FillType.NO_FILL
    watermarkShape.line_format.fill_format.fill_type = slides.FillType.NO_FILL

    # set watermark text, font and color
    watermarkTextFrame = watermarkShape.add_text_frame("Watermark")
    watermarkPortion = watermarkTextFrame.paragraphs[0].portions[0]
    watermarkPortion.portion_format.font_height = 52        
    watermarkPortion.portion_format.fill_format.fill_type = slides.FillType.SOLID
    watermarkPortion.portion_format.fill_format.solid_fill_color.color = drawing.Color.red

    # lock watermark to avoid modification
    watermarkShape.shape_lock.select_locked = True
    watermarkShape.shape_lock.size_locked = True
    watermarkShape.shape_lock.text_locked = True
    watermarkShape.shape_lock.position_locked = True
    watermarkShape.shape_lock.grouping_locked = True

    # set rotation
    watermarkShape.rotation = -45

    # send to back
    slide.shapes.reorder(0, watermarkShape)

    # save presentation
    presentation.save("text-watermark-slide.pptx", slides.export.SaveFormat.PPTX)

Чтобы добавить водяной знак на все слайды, вы можете просмотреть слайды в цикле или добавить водяной знак на мастер-слайд, как показано в следующем примере кода.

import aspose.slides as slides
import aspose.pydrawing as drawing

# load presentation
with slides.Presentation("presentation.pptx") as presentation:
    # select slide
    master = presentation.masters[0]

    # set watermark position
    center = drawing.PointF(presentation.slide_size.size.width / 2, presentation.slide_size.size.height / 2)
    width = 300
    height = 300
    x = center.x - width / 2
    y = center.y - height / 2

    # add watermark
    watermarkShape = master.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, x, y, height, width)
    watermarkShape.name = "watermark"
    watermarkShape.fill_format.fill_type = slides.FillType.NO_FILL
    watermarkShape.line_format.fill_format.fill_type = slides.FillType.NO_FILL

    # set watermark text, font and color
    watermarkTextFrame = watermarkShape.add_text_frame("Watermark")
    watermarkPortion = watermarkTextFrame.paragraphs[0].portions[0]
    watermarkPortion.portion_format.font_height = 52        
    watermarkPortion.portion_format.fill_format.fill_type = slides.FillType.SOLID
    watermarkPortion.portion_format.fill_format.solid_fill_color.color = drawing.Color.red

    # lock watermark to avoid modification
    watermarkShape.shape_lock.select_locked = True
    watermarkShape.shape_lock.size_locked = True
    watermarkShape.shape_lock.text_locked = True
    watermarkShape.shape_lock.position_locked = True
    watermarkShape.shape_lock.grouping_locked = True

    # send to back
    master.shapes.reorder(0, watermarkShape)

    # set rotation
    watermarkShape.rotation = -45

    # save presentation
    presentation.save("text-watermark-ppt.pptx", slides.export.SaveFormat.PPTX)

Ниже приведен скриншот слайда PowerPoint после добавления водяного знака.

Добавить текстовый водяной знак на слайды PowerPoint в Python

Добавить водяной знак изображения на слайды PowerPoint в Python

Ниже приведены шаги по добавлению водяного знака изображения на слайды PowerPoint в Python.

  • Сначала загрузите презентацию PowerPoint с помощью класса Presentation.
  • Получите ссылку на слайд, на который вы хотите добавить водяной знак.
  • Рассчитать положение водяного знака.
  • Загрузите изображение водяного знака из файла.
  • Добавьте новую фигуру для водяного знака с помощью метода addautoshape() и задайте для shape.fillformat.filltype значение FillType.PICTURE.
  • Установите изображение водяного знака, используя свойство shape.fillformat.picturefillformat.picture.image.
  • Установите порядок водяных знаков и заблокируйте его, чтобы избежать изменений.
  • Наконец, сохраните обновленный PPT, используя метод Presentation.save(string, SaveFormat).

В следующем примере кода показано, как добавить водяной знак изображения на слайды PowerPoint.

import aspose.slides as slides
import aspose.pydrawing as drawing

# load presentation
with slides.Presentation("presentation.pptx") as presentation:
    # select slide
    slide = presentation.slides[0]

    # set watermark position
    center = drawing.PointF(presentation.slide_size.size.width / 2, presentation.slide_size.size.height / 2)
    width = 100
    height = 100
    x = center.x - width / 2
    y = center.y - height / 2

    # load image
    with open("python-logo.png", "rb") as fs:
        data = fs.read()
        image = presentation.images.add_image(data)

        # add watermark
        watermarkShape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, x, y, height, width)
        watermarkShape.name = "watermark"

        # set image for watermark
        watermarkShape.fill_format.fill_type = slides.FillType.PICTURE
        watermarkShape.fill_format.picture_fill_format.picture.image = image
        watermarkShape.fill_format.picture_fill_format.picture_fill_mode = slides.PictureFillMode.STRETCH
        watermarkShape.line_format.fill_format.fill_type = slides.FillType.NO_FILL

        # send to back
        slide.shapes.reorder(0, watermarkShape)

        # lock watermark to avoid modification
        watermarkShape.shape_lock.select_locked = True
        watermarkShape.shape_lock.size_locked = True
        watermarkShape.shape_lock.text_locked = True
        watermarkShape.shape_lock.position_locked = True
        watermarkShape.shape_lock.grouping_locked = True

    # save presentation
    presentation.save("image-watermark-ppt.pptx", slides.export.SaveFormat.PPTX)

Ниже приведен скриншот слайда PPT после добавления водяного знака изображения.

Добавить водяной знак изображения на слайды PowerPoint в Python

Удалить водяной знак из слайдов PPT в Python

В предыдущих разделах вы, должно быть, заметили, что мы присвоили имя фигурам водяных знаков. Это имя используется для фильтрации фигур, используемых в качестве водяных знаков. Таким образом, мы можем легко получить доступ, изменить или удалить формы водяных знаков. В следующем примере кода показано, как удалить водяные знаки, которые мы добавили на слайды PPT в Python.

import aspose.slides as slides
import aspose.pydrawing as drawing

# load presentation
with slides.Presentation("text-watermark-slide.pptx") as presentation:
    # select slide
    slide = presentation.slides[0]

    shapesToRemove=[]

    # loop through all the shapes in slide
    for i in range(len(slide.shapes)):
        shape = slide.shapes[i]

        # if shape is watermark
        if shape.name == "watermark":                
            shapesToRemove.append(shape)

    # loop through all the shapes to be removed
    for i in range(len(shapesToRemove)):
        # remove shape
        slide.shapes.remove(shapesToRemove[i])

    # save presentation
    presentation.save("remove-watermark.pptx", slides.export.SaveFormat.PPTX)

Получить бесплатную лицензию

Вы можете использовать Aspose.Slides для Python через .NET без ограничений на оценку, запросив временную лицензию.

Вывод

В этой статье вы узнали, как добавить водяной знак на слайды PowerPoint в Python. Мы рассмотрели, как добавлять текстовые и графические водяные знаки на слайды PPT. Более того, вы видели, как программно удалить водяной знак из PowerPoint PPT. Кроме того, вы можете прочитать документацию, чтобы изучить другие функции Aspose.Slides для Python. Кроме того, вы можете оставлять свои вопросы на нашем форуме.

Смотрите также

Информация: вы можете воспользоваться бесплатными онлайн-инструментами, предлагаемыми Aspose.Slides, чтобы добавить водяные знаки и удалить водяные знаки из презентаций PowerPoint.