Add an Image Watermark Introduction
A watermark in the form of an image is a special graphical element added to PowerPoint slides for various purposes, such as protecting copyright, establishing a corporate identity, or giving a document a unique character. This element is typically transparent and positioned on top of the slide content, allowing it to be visible without completely obstructing the underlying content. Use the following methods to add image watermarks to presentation slides.
The watermark shapes added to PowerPoint presentations are automatically named “watermark”.
CreateImageWatermark
API
Type
Description
Resource
/slides/{name}/watermark/image
POST
Adds an image watermark to each slide of a presentation saved in a storage.
CreateImageWatermark
Request Parameters
Name
Type
Location
Required
Description
name
string
path
true
The name of a presentation file saved in a storage.
image
file
formData
false
The image file.
pictureFrame
PictureFrame
body
false
The data transfer object with image properties.
password
string
header
false
The password to open the presentation.
folder
string
query
false
The folder where the presentation file is located.
storage
string
query
false
The storage where the folder is located.
Examples
Use the MyWatermark.jpg file to add a watermark image to slides in the MyPresentation.pptx document saved in the default storage. Use the Tile mode to fill entire slides with the watermarks.
SDK Solutions
C#
using System ;
using System.IO ;
using Aspose.Slides.Cloud.Sdk ;
using Aspose.Slides.Cloud.Sdk.Model ;
class Application
{
static void Main ( string [] args )
{
SlidesApi slidesApi = new SlidesApi ( "MyClientId" , "MyClientSecret" );
string documentName = "MyPresentation.pptx" ;
string imageFilePath = "MyImage.png" ; // the path to a local file
byte [] imageData = File . ReadAllBytes ( imageFilePath );
PictureFrame pictureFrame = new PictureFrame
{
X = 0 ,
Y = 0 ,
Width = 960 ,
Height = 540 ,
PictureFillFormat = new PictureFill
{
Base64Data = Convert . ToBase64String ( imageData ),
PictureFillMode = PictureFill . PictureFillModeEnum . Tile ,
}
};
slidesApi . CreateImageWatermark ( documentName , null , pictureFrame );
}
}
Java
import com.aspose.slides.ApiException ;
import com.aspose.slides.api.SlidesApi ;
import com.aspose.slides.model.PictureFrame ;
import com.aspose.slides.model.PictureFill ;
import java.io.IOException ;
import java.nio.file.Files ;
import java.nio.file.Paths ;
import java.util.Base64 ;
public class Application {
public static void main ( String [] args ) throws ApiException , IOException {
SlidesApi slidesApi = new SlidesApi ( "MyClientId" , "MyClientSecret" );
String documentName = "MyPresentation.pptx" ;
String imageFilePath = "MyImage.png" ; // the path to a local file
byte [] imageData = Files . readAllBytes ( Paths . get ( imageFilePath ));
PictureFrame pictureFrame = new PictureFrame ();
pictureFrame . setX ( 0d );
pictureFrame . setY ( 0d );
pictureFrame . setWidth ( 960d );
pictureFrame . setHeight ( 540d );
pictureFrame . setPictureFillFormat ( new PictureFill ());
pictureFrame . getPictureFillFormat (). setBase64Data ( Base64 . getEncoder (). encodeToString ( imageData ));
pictureFrame . getPictureFillFormat (). setPictureFillMode ( PictureFill . PictureFillModeEnum . TILE );
slidesApi . createImageWatermark ( documentName , null , pictureFrame , null , null , null );
}
}
PHP
use Aspose\Slides\Cloud\Sdk\Api\Configuration ;
use Aspose\Slides\Cloud\Sdk\Api\SlidesApi ;
use Aspose\Slides\Cloud\Sdk\Model\PictureFrame ;
use Aspose\Slides\Cloud\Sdk\Model\PictureFill ;
$configuration = new Configuration ();
$configuration -> setAppSid ( "MyClientId" );
$configuration -> setAppKey ( "MyClientSecret" );
$slidesApi = new SlidesApi ( null , $configuration );
$documentName = "MyPresentation.pptx" ;
$imageFilePath = "MyImage.png" ; // the path to a local file
$imageData = file_get_contents ( $imageFilePath );
$pictureFrame = new PictureFrame ();
$pictureFrame -> setX ( 0 );
$pictureFrame -> setY ( 0 );
$pictureFrame -> setWidth ( 960 );
$pictureFrame -> setHeight ( 540 );
$pictureFrame -> setPictureFillFormat ( new PictureFill ());
$pictureFrame -> getPictureFillFormat () -> setBase64Data ( base64_encode ( $imageData ));
$pictureFrame -> getPictureFillFormat () -> setPictureFillMode ( "Tile" );
$slidesApi -> createImageWatermark ( $documentName , null , $pictureFrame );
Ruby
require "base64"
require "aspose_slides_cloud"
include AsposeSlidesCloud
configuration = Configuration . new
configuration . app_sid = "MyClientId"
configuration . app_key = "MyClientSecret"
slides_api = SlidesApi . new ( configuration )
document_name = "MyPresentation.pptx"
image_file_path = "MyImage.png" # the path to a local file
image_data = File . binread ( image_file_path )
picture_frame = PictureFrame . new
picture_frame . x = 0
picture_frame . y = 0
picture_frame . width = 960
picture_frame . height = 540
picture_frame . picture_fill_format = PictureFill . new
picture_frame . picture_fill_format . base64_data = Base64 . encode64 ( image_data )
picture_frame . picture_fill_format . picture_fill_mode = "Tile"
slides_api . create_image_watermark ( document_name , nil , picture_frame )
Python
import base64
from asposeslidescloud.apis.slides_api import SlidesApi
from asposeslidescloud.models.picture_frame import PictureFrame
from asposeslidescloud.models.picture_fill import PictureFill
slides_api = SlidesApi ( None , "MyClientId" , "MyClientSecret" )
document_name = "MyPresentation.pptx"
image_file_path = "MyImage.png" # the path to a local file
with open ( image_file_path , "rb" ) as image_stream :
image_base64_data = str ( base64 . b64encode ( image_stream . read ()), "utf-8" )
picture_frame = PictureFrame ()
picture_frame . x = 0
picture_frame . y = 0
picture_frame . width = 960
picture_frame . height = 540
picture_frame . picture_fill_format = PictureFill ()
picture_frame . picture_fill_format . base64_data = image_base64_data
picture_frame . picture_fill_format . picture_fill_mode = "Tile"
slides_api . create_image_watermark ( document_name , None , picture_frame )
Node.js
const fs = require ( "fs" );
const cloudSdk = require ( "asposeslidescloud" );
const slidesApi = new cloudSdk . SlidesApi ( "MyClientId" , "MyClientSecret" );
documentName = "MyPresentation.pptx" ;
imageFilePath = "MyImage.png" ; // the path to a local file
imageBase64Data = fs . readFileSync ( imageFilePath , { encoding : "base64" });
pictureFrame = new cloudSdk . PictureFrame ();
pictureFrame . x = 0 ;
pictureFrame . y = 0 ;
pictureFrame . width = 960 ;
pictureFrame . height = 540 ;
pictureFrame . pictureFillFormat = new cloudSdk . PictureFill ();
pictureFrame . pictureFillFormat . base64Data = imageBase64Data ;
pictureFrame . pictureFillFormat . pictureFillMode = cloudSdk . PictureFill . PictureFillModeEnum . Tile ;
slidesApi . createImageWatermark ( documentName , null , pictureFrame ). then (() => {
console . log ( "Done." );
});
C++
Perl
use File::Slurp ;
use MIME::Base64 ;
use AsposeSlidesCloud::Configuration ;
use AsposeSlidesCloud::SlidesApi ;
use AsposeSlidesCloud::Object::PictureFrame ;
use AsposeSlidesCloud::Object::PictureFill ;
my $config = AsposeSlidesCloud::Configuration -> new ();
$config -> { app_sid } = "MyClientId" ;
$config -> { app_key } = "MyClientSecret" ;
my $slides_api = AsposeSlidesCloud::SlidesApi -> new ( config => $config );
my $document_name = "MyPresentation.pptx" ;
my $image_file_path = "MyImage.png" ; # the path to a local file
my $image_data = read_file ( $image_file_path , { binmode => ":raw" });
my $picture_frame = AsposeSlidesCloud::Object::PictureFrame -> new ();
$picture_frame -> { x } = 0 ;
$picture_frame -> { y } = 0 ;
$picture_frame -> { width } = 960 ;
$picture_frame -> { height } = 540 ;
$picture_frame -> { picture_fill_format } = AsposeSlidesCloud::Object::PictureFill -> new ();
$picture_frame -> { picture_fill_format } -> { base64_data } = encode_base64 ( $image_data );
$picture_frame -> { picture_fill_format } -> { picture_fill_mode } = "Tile" ;
$slides_api -> create_image_watermark ( name => $document_name , picture_frame => $picture_frame );
Swift
Go
The result:
CreateImageWatermarkOnline
API
Type
Description
Resource
/slides/watermark/image
POST
Adds an image watermark to each slide of a presentation saved in a local file.
CreateImageWatermarkOnline
Request Parameters
Name
Type
Location
Required
Description
document
file
formData
true
The presentation file.
image
file
formData
false
The image file.
pictureFrame
PictureFrame
body
false
The data transfer object with image properties.
password
string
header
false
The password to open the presentation.
SDKs
Check Available SDKs to learn how to add an SDK to your project.