Aggiungi filigrana a PowerPoint PPT in Python

Le filigrane sono comunemente utilizzate per proteggere un documento o per specificarne la proprietà. D’altra parte, vengono utilizzati per visualizzare lo stato di un documento come manoscritto, bozza, ecc. In questo articolo dimostreremo come inserire filigrane nelle presentazioni PowerPoint. Imparerai come aggiungere filigrana di testo o immagine alle diapositive PPT di PowerPoint in Python.

Libreria Python per aggiungere filigrana alle diapositive di PowerPoint

Per aggiungere o rimuovere filigrane nelle diapositive PPT, utilizzeremo Aspose.Slides for Python via .NET. La libreria consente di creare e manipolare presentazioni PowerPoint senza interruzioni dall’interno delle applicazioni Python. Utilizzare il comando pip seguente per installare la libreria da PyPI.

> pip install aspose.slides

Aggiungi filigrana alle diapositive PPT di PowerPoint in Python

Esistono due tipi di filigrana che possono essere aggiunti alle diapositive di PowerPoint: immagine e testo. Nella filigrana basata su immagini, un’immagine viene aggiunta alle diapositive PPT. Considerando che un frammento di testo viene posizionato sulle diapositive in caso di filigrana basata sul testo. Le sezioni seguenti coprono in modo esplicito entrambi i tipi di filigrana.

Aggiungi filigrana di testo alle diapositive di PowerPoint in Python

Di seguito sono riportati i passaggi per aggiungere una filigrana di testo alle diapositive PPT in Python.

  • Innanzitutto, carica il PowerPoint PPT/PPTX utilizzando la classe Presentation.
  • Ottieni il riferimento della diapositiva a cui vuoi aggiungere la filigrana.
  • Calcola la posizione della filigrana.
  • Aggiungi una nuova forma automatica per la filigrana usando il metodo addautoshape().
  • Aggiungi una cornice di testo alla forma usando il metodo addtextframe().
  • Imposta la dimensione del carattere, il colore, l’ordine e l’angolo di rotazione della filigrana.
  • Blocca filigrana per evitare la rimozione o la modifica.
  • Infine, salva il file PowerPoint aggiornato utilizzando il metodo Presentation.save(string, SaveFormat).

Nell’esempio di codice seguente viene illustrato come aggiungere una filigrana di testo alle diapositive di 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)

Per aggiungere la filigrana a tutte le diapositive, puoi scorrere le diapositive o aggiungere la filigrana alla diapositiva master, come illustrato nell’esempio di codice seguente.

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)

Quello che segue è lo screenshot della diapositiva di PowerPoint dopo aver aggiunto la filigrana.

Aggiungi filigrana di testo alle diapositive di PowerPoint in Python

Aggiungi filigrana immagine alle diapositive di PowerPoint in Python

Di seguito sono riportati i passaggi per aggiungere una filigrana immagine alle diapositive di PowerPoint in Python.

  • Innanzitutto, carica la presentazione PowerPoint utilizzando la classe Presentation.
  • Ottieni il riferimento della diapositiva a cui vuoi aggiungere la filigrana.
  • Calcola la posizione della filigrana.
  • Carica l’immagine della filigrana dal file.
  • Aggiungi una nuova forma per la filigrana usando il metodo addautoshape() e imposta shape.fillformat.filltype su FillType.PICTURE.
  • Imposta l’immagine della filigrana utilizzando la proprietà shape.fillformat.picturefillformat.picture.image.
  • Impostare l’ordine della filigrana e bloccarlo per evitare modifiche.
  • Infine, salva il PPT aggiornato usando il metodo Presentation.save(string, SaveFormat).

L’esempio di codice seguente mostra come aggiungere una filigrana di immagine alle diapositive di 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)

Quello che segue è lo screenshot della diapositiva PPT dopo aver aggiunto una filigrana dell’immagine.

Aggiungi filigrana immagine alle diapositive di PowerPoint in Python

Rimuovi la filigrana dalle diapositive PPT in Python

Nelle sezioni precedenti, avrai notato che abbiamo assegnato un nome alle forme della filigrana. Questo nome viene utilizzato per filtrare le forme utilizzate come filigrana. Pertanto, possiamo accedere, modificare o rimuovere facilmente le forme della filigrana. L’esempio di codice seguente mostra come rimuovere le filigrane che abbiamo aggiunto alle diapositive PPT in 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)

Ottieni una licenza gratuita

Puoi utilizzare Aspose.Slides per Python tramite .NET senza limitazioni di valutazione richiedendo una licenza temporanea.

Conclusione

In questo articolo, hai imparato come aggiungere una filigrana alle diapositive di PowerPoint in Python. Abbiamo spiegato come aggiungere filigrane di testo e immagini alle diapositive PPT. Inoltre, hai visto come rimuovere la filigrana da un PPT di PowerPoint a livello di codice. Inoltre, puoi leggere la documentazione per esplorare altre funzionalità di Aspose.Slides per Python. Inoltre, puoi inviare le tue domande al nostro forum.

Guarda anche

Informazioni: potresti voler controllare gli strumenti online gratuiti offerti da Aspose.Slides per aggiungere filigrane e rimuovere filigrane dalle presentazioni PowerPoint.