This article demonstrates how to add multiline watermarks to a PowerPoint slide using Spire.Presentation for Java. To add watermarks to all slides, use one more for loop outside the two for loops in the following code snippet.
import com.spire.pdf.graphics.PdfTrueTypeFont; import com.spire.presentation.*; import com.spire.presentation.drawing.FillFormatType; import java.awt.*; import java.awt.geom.Dimension2D; import java.awt.geom.Rectangle2D; public class AddMultilineWatermarks { public static void main(String[] args) throws Exception { //Create a Presentation object Presentation presentation = new Presentation(); //Load the sample PowerPoint file presentation.loadFromFile("C:\\Users\\Administrator\\Desktop\\Spire.Presentation.pptx"); //Specify watermark text String watermarkText = "E-iceblue"; //Get the size of the watermark text Font font = new java.awt.Font("Arial", java.awt.Font.BOLD, 20); PdfTrueTypeFont trueTypeFont = new PdfTrueTypeFont(font); Dimension2D strSize = trueTypeFont.measureString(watermarkText); //Initialize x and y coordinate float x = 30; float y = 80; for (int rowNum = 0; rowNum < 4; rowNum++) { for (int colNum = 0; colNum < 5; colNum++) { //Add a rectangle shape Rectangle2D rect = new Rectangle2D.Float(x, y, (float) strSize.getWidth() + 10, (float) strSize.getHeight()); IAutoShape shape = presentation.getSlides().get(0).getShapes().appendShape(ShapeType.RECTANGLE, rect); //Set the style of the shape shape.getFill().setFillType(FillFormatType.NONE); shape.getShapeStyle().getLineColor().setColor(new Color(1, 1, 1, 0)); shape.setRotation(-45); shape.getLocking().setSelectionProtection(true); shape.getLine().setFillType(FillFormatType.NONE); //Add watermark text to the shape shape.getTextFrame().setText(watermarkText); PortionEx textRange = shape.getTextFrame().getTextRange(); //Set the style of the text range textRange.getFill().setFillType(FillFormatType.SOLID); textRange.getFill().getSolidColor().setColor(Color.pink); textRange.setLatinFont(new TextFont(trueTypeFont.getName())); textRange.setFontMinSize(trueTypeFont.getSize()); x += (100 + strSize.getWidth()); } x = 30; y += (100 + strSize.getHeight()); } //Save the document presentation.saveToFile("output/Watermark.pptx", FileFormat.PPTX_2013); } }