Přidání vodoznaků do prezentací v Pythonu
Úvod
Vodoznak v prezentaci je textová nebo obrázková razítko použité na snímku nebo na všech snímcích prezentace. Obvykle se vodoznak používá k označení, že prezentace je návrh (např. vodoznak „Draft“), že obsahuje důvěrné informace (např. vodoznak „Confidential“), aby se specifikovalo, ke které společnosti patří (např. vodoznak „Company Name“), k identifikaci autora prezentace apod. Vodoznak pomáhá předcházet porušování autorských práv tím, že naznačuje, že prezentaci by nemělo být kopírováno. Vodoznaky se používají jak ve formátech PowerPoint, tak OpenOffice. V Aspose.Slides můžete přidat vodoznak do souborů PowerPoint PPT, PPTX a OpenOffice ODP.
V Aspose.Slides existuje několik způsobů, jak vytvořit vodoznaky v dokumentech PowerPoint nebo OpenOffice a upravit jejich vzhled a chování. Společným prvkem je, že pro přidání textových vodoznaků byste měli používat třídu TextFrame, a pro přidání obrázkových vodoznaků použít třídu PictureFrame nebo vyplnit tvar vodoznaku obrázkem. PictureFrame implementuje třídu Shape, což vám umožňuje použít všechna flexibilní nastavení objektu shape. Protože TextFrame není shape a jeho nastavení jsou omezená, je zabalen do objektu Shape.
Existují dva způsoby, jak lze vodoznak aplikovat: na jeden snímek nebo na všechny snímky prezentace. Slide Master se používá k aplikaci vodoznaku na všechny snímky – vodoznak je přidán do Slide Master, zde plně navržen a aplikován na všechny snímky, aniž by to ovlivnilo možnost úpravy vodoznaku na jednotlivých snímcích.
Vodoznak se obvykle považuje za needitovatelný pro ostatní uživatele. Aby se zabránilo úpravám vodoznaku (nebo spíše jeho nadřazeného tvaru), poskytuje Aspose.Slides funkci zamykání tvarů. Konkrétní tvar může být zamčen na běžném snímku nebo na Slide Masteru. Když je tvar vodoznaku zamčen na Slide Masteru, bude zamčen na všech snímcích prezentace.
Můžete nastavit název pro vodoznak, takže v budoucnu, pokud jej budete chtít smazat, jej můžete najít mezi tvary snímku podle názvu.
Vodoznak můžete navrhnout libovolně; obvykle však mají vodoznaky společné rysy, jako je centrování, rotace, umístění vpředu apod. Níže si ukážeme, jak tyto vlastnosti v příkladech použít.
Textový vodoznak
Přidání textového vodoznaku na snímek
Pro přidání textového vodoznaku v PPT, PPTX nebo ODP nejprve přidejte tvar na snímek a poté k tomuto tvaru přidejte textový rámec. Textový rámec představuje třída TextFrame. Tento typ není odvozen od Shape, která má širokou sadu vlastností pro flexibilní umístění vodoznaku. Proto je objekt TextFrame zabalen do objektu AutoShape. Pro přidání textu vodoznaku do tvaru použijte metodu add_text_frame, jak je ukázáno níže.
watermark_text = "CONFIDENTIAL"
with Presentation() as presentation:
slide = presentation.slides[0]
watermark_shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 100, 100, 400, 40)
watermark_frame = watermark_shape.add_text_frame(watermark_text)
Viz také
Přidání textového vodoznaku do celé prezentace
Pokud chcete přidat textový vodoznak do celé prezentace (tj. na všechny snímky najednou), přidejte jej do MasterSlide. Zbytek logiky je stejný jako při přidávání vodoznaku na jeden snímek – vytvořte objekt AutoShape a poté k němu přidejte vodoznak pomocí metody add_text_frame.
watermark_text = "CONFIDENTIAL"
with Presentation() as presentation:
master_slide = presentation.masters[0]
watermark_shape = master_slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 100, 100, 400, 40)
watermark_frame = watermark_shape.add_text_frame(watermark_text)
Viz také
Nastavení průhlednosti tvaru vodoznaku
Ve výchozím nastavení je obdélníkový tvar stylizován barvou výplně a obrysu. Následující řádky kódu učiní tvar průhledným.
watermark_shape.fill_format.fill_type = FillType.NO_FILL
watermark_shape.line_format.fill_format.fill_type = FillType.NO_FILL
Nastavení písma pro textový vodoznak
Písmo textového vodoznaku můžete změnit, jak je ukázáno níže.
text_format = watermark_frame.paragraphs[0].paragraph_format.default_portion_format
text_format.latin_font = FontData("Arial")
text_format.font_height = 50
Nastavení barvy textu vodoznaku
Pro nastavení barvy textu vodoznaku použijte tento kód:
alpha = 150
red = 200
green = 200
blue = 200
fill_format = watermark_frame.paragraphs[0].paragraph_format.default_portion_format.fill_format
fill_format.fill_type = FillType.SOLID
fill_format.solid_fill_color.color = drawing.Color.from_argb(alpha, red, green, blue)
Centrovaní textového vodoznaku
Textový vodoznak lze centrovat na snímku a k tomu můžete provést následující:
slide_size = presentation.slide_size.size
watermark_width = 400
watermark_height = 40
watermark_x = (slide_size.width - watermark_width) / 2
watermark_y = (slide_size.height - watermark_height) / 2
watermark_shape = slide.shapes.add_auto_shape(
ShapeType.RECTANGLE, watermark_x, watermark_y, watermark_width, watermark_height)
watermark_frame = watermark_shape.add_text_frame(watermark_text)
Obrázek níže ukazuje konečný výsledek.

Obrázkový vodoznak
Přidání obrázkového vodoznaku do prezentace
Pro přidání obrázkového vodoznaku na snímek prezentace můžete provést následující:
with open("watermark.png", "rb") as image_stream:
image = presentation.images.add_image(image_stream.read())
watermark_shape.fill_format.fill_type = FillType.PICTURE
watermark_shape.fill_format.picture_fill_format.picture.image = image
watermark_shape.fill_format.picture_fill_format.picture_fill_mode = PictureFillMode.STRETCH
Zamčení vodoznaku před úpravou
Pokud je nutné zabránit úpravám vodoznaku, použijte vlastnost AutoShape.auto_shape_lock na tvaru. Touto vlastností můžete chránit tvar před výběrem, změnou velikosti, přesunutím, seskupením s dalšími prvky, zamknout jeho text před úpravou a mnoho dalšího:
# Zamknout tvar vodoznaku před úpravou
watermark_shape.auto_shape_lock.select_locked = True
watermark_shape.auto_shape_lock.size_locked = True
watermark_shape.auto_shape_lock.text_locked = True
watermark_shape.auto_shape_lock.position_locked = True
watermark_shape.auto_shape_lock.grouping_locked = True
Přesun vodoznaku dopředu
V Aspose.Slides lze pořadí (Z‑order) tvarů nastavit pomocí metody ShapeCollection.reorder. K tomu je nutné tuto metodu zavolat z kolekce snímků prezentace a předat do ní referenci na tvar a jeho pořadové číslo. Tím je možné tvar přenést dopředu nebo poslat dozadu snímku. Tato funkce se hodí zejména tehdy, když potřebujete umístit vodoznak před obsah prezentace:
shape_count = len(slide.shapes)
slide.shapes.reorder(shape_count - 1, watermark_shape)
Nastavení rotace vodoznaku
Níže je ukázka kódu, jak upravit rotaci vodoznaku, aby byl umístěn diagonálně přes snímek:
diagonal_angle = math.atan(slide_size.height / slide_size.width) * 180 / math.pi
watermark_shape.rotation = float(diagonal_angle)
Nastavení názvu pro vodoznak
Aspose.Slides umožňuje nastavit název tvaru. Pomocí názvu tvaru jej můžete v budoucnu získat pro úpravy nebo smazání. Pro nastavení názvu tvaru vodoznaku přiřaďte ho k vlastnosti AutoShape.name:
watermark_shape.name = "watermark"
Odstranění vodoznaku
Pro odstranění tvaru vodoznaku použijte metodu AutoShape.name k jeho vyhledání v kolekci tvarů snímku. Poté předáte tvar vodoznaku metodě ShapeCollection.remove:
slide_shapes = list(slide.shapes)
for shape in slide_shapes:
if shape.name == "watermark":
slide.shapes.remove(watermark_shape)
Živý příklad
Můžete si vyzkoušet Aspose.Slides free online nástroje Add Watermark a Remove Watermark.

Často kladené otázky
Co je to vodoznak a proč jej mám používat?
Vodoznak je textová nebo obrázková vrstva aplikovaná na snímky, která pomáhá chránit duševní vlastnictví, posílit rozpoznatelnost značky nebo zabránit neoprávněnému použití prezentací.
Mohu přidat vodoznak na všechny snímky v prezentaci?
Ano, Aspose.Slides vám umožní přidat vodoznak na každý snímek v prezentaci. Můžete iterovat přes všechny snímky a aplikovat nastavení vodoznaku jednotlivě.
Jak mohu upravit průhlednost vodoznaku?
Průhlednost vodoznaku můžete upravit změnou nastavení výplně (FillFormat) tvaru. Tím zajistíte, že vodoznak bude decentní a nebude rozptylovat pozornost od obsahu snímku.
Jaké formáty obrázků jsou podporovány pro vodoznaky?
Aspose.Slides podporuje různé formáty obrázků, jako jsou PNG, JPEG, GIF, BMP, SVG a další.
Mohu přizpůsobit písmo a styl textového vodoznaku?
Ano, můžete zvolit libovolné písmo, velikost a styl, aby odpovídaly designu vaší prezentace a zachovaly konzistenci značky.
Jak změním umístění nebo orientaci vodoznaku?
Umístění a orientaci vodoznaku můžete upravit změnou souřadnic, velikosti a vlastností rotace shape.