Přidání vodoznaků do prezentací v JavaScriptu

Úvod

Vodoznak v prezentaci je textová nebo obrázková známka, která se používá na snímku nebo na všech snímcích prezentace. Obvykle se vodoznak používá k označení, že se jedná o návrh (např. vodoznak „Draft“), že obsahuje důvěrné informace (např. vodoznak „Confidential“), aby se uvedla společnost, které patří (např. vodoznak „Company Name“), k identifikaci autora prezentace atd. Vodoznak pomáhá předcházet porušení autorských práv tím, že naznačuje, že prezentaci nesmí být kopírována. 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 rysem je, že pro přidání textových vodoznaků byste měli použít typ TextFrame, a pro přidání obrázkových vodoznaků použít třídu PictureFrame nebo vyplnit tvar vodoznaku obrázkem. PictureFrame implementuje typ Shape, což umožňuje použít všechna flexibilní nastavení objektu tvaru. Protože TextFrame není tvarem a jeho nastavení jsou omezená, je zabalen do objektu Shape.

Existují dva způsoby, jak aplikovat vodoznak: na jeden snímek nebo na všechny snímky prezentace. Pro aplikaci vodoznaku na všechny snímky se používá Slide Master – vodoznak se přidá do Slide Master, plně se zde navrhne a použije se na všechny snímky, aniž by to ovlivnilo možnost úpravy vodoznaku na jednotlivých snímcích.

Vodoznak je obvykle považován za needitovatelný ostatními uživateli. Aby se zabránilo úpravám vodoznaku (nebo spíše jeho rodičovského tvaru), Aspose.Slides poskytuje funkci zamykání tvaru. Konkrétní tvar může být uzamčen na běžném snímku nebo na Slide Master. Když je tvar vodoznaku uzamčen na Slide Master, bude uzamčen na všech snímcích prezentace.

Můžete nastavit název vodoznaku, abyste jej v budoucnu mohli snadno najít a odstranit podle názvu v seznamu tvarů snímku.

Vodoznak můžete navrhnout libovolně; existují však běžné rysy, jako je centrování, rotace, umístění v popředí atd. Níže si ukážeme, jak tyto prvky použít v příkladech.

Textový vodoznak

Přidání textového vodoznaku na snímek

Chcete‑li přidat textový vodoznak do PPT, PPTX nebo ODP, nejprve přidejte tvar na snímek a poté k tomuto tvaru přidejte textový rámec. Textový rámec je reprezentován typem 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 addTextFrame s textem vodoznaku jako argumentem:

const watermarkText = "CONFIDENTIAL";

let presentation = new aspose.slides.Presentation();
let slide = presentation.getSlides().get_Item(0);

let watermarkShape = slide.getShapes().addAutoShape(aspose.slides.ShapeType.Rectangle, 100, 100, 400, 40);
let watermarkFrame = watermarkShape.addTextFrame(watermarkText);

presentation.dispose();

Přidání textového vodoznaku do celé prezentace

Chcete‑li 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 jednotlivý snímek – vytvořte objekt AutoShape a pak k němu přidejte vodoznak pomocí metody addTextFrame:

const watermarkText = "CONFIDENTIAL";

let presentation = new aspose.slides.Presentation();
let masterSlide = presentation.getMasters().get_Item(0);

let watermarkShape = masterSlide.getShapes().addAutoShape(aspose.slides.ShapeType.Rectangle, 100, 100, 400, 40);
let watermarkFrame = watermarkShape.addTextFrame(watermarkText);

presentation.dispose();

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 udělají tvar průhledným.

watermarkShape.getFillFormat().setFillType(java.newByte(aspose.slides.FillType.NoFill));
watermarkShape.getLineFormat().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.NoFill));

Nastavení písma pro textový vodoznak

Písmo textového vodoznaku můžete změnit takto:

let textFormat = watermarkFrame.getParagraphs().get_Item(0).getParagraphFormat().getDefaultPortionFormat();
textFormat.setLatinFont(new aspose.slides.FontData("Arial"));
textFormat.setFontHeight(50);

Nastavení barvy textu vodoznaku

Pro nastavení barvy textu vodoznaku použijte tento kód:

let alpha = 150;
let red = 200;
let green = 200;
let blue = 200;

let fillFormat = watermarkFrame.getParagraphs().get_Item(0).getParagraphFormat().getDefaultPortionFormat().getFillFormat();
fillFormat.setFillType(java.newByte(aspose.slides.FillType.Solid));
fillFormat.getSolidFillColor().setColor(java.newInstanceSync("java.awt.Color", red, green, blue, alpha));

Centrovaný textový vodoznak

Vodoznak lze centrovat na snímku a k tomu můžete provést následující:

const watermarkWidth = 400;
const watermarkHeight = 40;
const watermarkX = (slideSize.getWidth() - watermarkWidth) / 2;
const watermarkY = (slideSize.getHeight() - watermarkHeight) / 2;

let watermarkShape = masterSlide.getShapes().addAutoShape(
        aspose.slides.ShapeType.Rectangle, watermarkX, watermarkY, watermarkWidth, watermarkHeight);
        
let watermarkFrame = watermarkShape.addTextFrame(watermarkText);

Obrázek níže ukazuje výsledný vzhled.

The text watermark

Obrázkový vodoznak

Přidání obrázkového vodoznaku do prezentace

Pro přidání obrázkového vodoznaku do všech snímků prezentace můžete provést následující:

let watermarkImage = aspose.slides.Images.fromFile("watermark.png");
let image = presentation.getImages().addImage(watermarkImage);

// ...

watermarkShape.getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Picture));
watermarkShape.getFillFormat().getPictureFillFormat().getPicture().setImage(image);
watermarkShape.getFillFormat().getPictureFillFormat().setPictureFillMode(aspose.slides.PictureFillMode.Stretch);

Zamknutí vodoznaku proti úpravám

Pokud je potřeba zabránit úpravám vodoznaku, použijte metodu AutoShape.getShapeLock 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, zamknutím textu před úpravou a dalšími akcemi:

// Uzamknout tvar vodoznaku před úpravami
watermarkShape.getShapeLock().setSelectLocked(true);
watermarkShape.getShapeLock().setSizeLocked(true);
watermarkShape.getShapeLock().setTextLocked(true);
watermarkShape.getShapeLock().setPositionLocked(true);
watermarkShape.getShapeLock().setGroupingLocked(true);

Přenesení vodoznaku do popředí

V Aspose.Slides lze pořadí Z tvarů nastavit pomocí metody SlideCollection.reorder. K tomu zavolejte tuto metodu z kolekce snímků prezentace a předávejte referenci na tvar a jeho pořadové číslo. Tím lze tvar přenést do popředí nebo poslat dozadu. Tato funkce je užitečná, pokud potřebujete umístit vodoznak před obsah prezentace:

let shapeCount = slide.getShapes().size();
slide.getShapes().reorder(shapeCount - 1, watermarkShape);

Nastavení rotace vodoznaku

Následující ukázkový kód ukazuje, jak upravit rotaci vodoznaku, aby byl umístěn diagonálně napříč snímkem:

const diagonalAngle = Math.atan(slideSize.getHeight() / slideSize.getWidth()) * 180 / Math.PI;

watermarkShape.setRotation(diagonalAngle);

Nastavení názvu vodoznaku

Aspose.Slides umožňuje nastavit název tvaru. Pomocí názvu tvaru jej můžete v budoucnu najít a upravit nebo odstranit. Pro nastavení názvu tvaru vodoznaku použijte metodu AutoShape.getName:

watermarkShape.setName("watermark");

Odstranění vodoznaku

Chcete‑li odstranit tvar vodoznaku, použijte metodu AutoShape.getName k jeho nalezení v kolekci tvarů snímku. Poté předávejte tvar vodoznaku metodě ShapeCollection.remove:

for (var i = 0; i < slide.getShapes().size(); i++) {
    var shape = slide.getShapes().get_Item(i);
    if ("watermark" == shape.getName()) {
        slide.getShapes().remove(watermarkShape);
    }
}

Často kladené otázky

Co je vodoznak a proč ho mám používat?

Vodoznak je textová nebo obrázková vrstva aplikovaná na snímky, která pomáhá chránit duševní vlastnictví, posilovat povědomí o značce nebo předcházet neoprávněnému používání prezentací.

Mohu přidat vodoznak na všechny snímky v prezentaci?

Ano, Aspose.Slides umožňuje 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ě tvaru. Tím zajistíte, že vodoznak bude decentní a nebude rušit obsah 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 tvaru.