Java-在PowerPoint中添加或删除水印
#java #powerpoint #watermark

水印是文档背景上出现的文本或褪色图像。您可以在PowerPoint文档中使用水印来用于不同的目的,例如保护文件的版权,指定文件的状态(例如草稿,批准,最终等)或广告您的品牌。在本文中,我将演示如何使用Spire.Presentation for Java 中的PowerPoint添加或删除水印。

添加依赖项

方法1:如果您使用的是maven,则可以通过将以下代码添加到项目的pom.xml文件中,轻松地将Spire的JAR文件导入应用程序。 br>

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.presentation</artifactId>
        <version>7.12.0</version>
    </dependency>
</dependencies>

方法2:如果您不使用Maven,则可以从official website下载spire.presentation。作为依赖性进入您的项目。

在Java中的PowerPoint文档中添加文本水印

以下是使用Java向PowerPoint文档中添加文本水印的主要步骤:

  • 初始化演示的实例类。
  • 使用呈现加载PowerPoint文档。loadfromfile() method。
  • 循环浏览文档中的所有幻灯片。
  • 使用 iSlide.getShapes()。附录Shape() method。
  • 设置形状名称,填充类型,旋转角度和边框。
  • 锁定形状以保护其免于使用 iautoshape.getlocking()。setSelectionProtection()方法。
  • 使用 iautoshape.getTextframe()。setText()方法。
  • 设置字体名称,字体大小和水印文本的字体颜色。
  • 使用 essiontion.savetofile()方法保存结果文档。
import com.spire.presentation.*;
import com.spire.presentation.drawing.FillFormatType;

import java.awt.*;
import java.awt.geom.Rectangle2D;

public class TextWatermark {
    public static void main(String []args) throws Exception {
        //Load a PowerPoint document
        Presentation ppt = new Presentation();
        ppt.loadFromFile("Sample.pptx");

        //Loop through all slides in the document
        for(int i = 0; i < ppt.getSlides().getCount(); i++)
        {
            ISlide slide = ppt.getSlides().get(i);

            //Add a shape to the slide
            IAutoShape shape = slide.getShapes().appendShape(ShapeType.RECTANGLE, new Rectangle2D.Double(340, 150, 300, 200));
            //Set shape name
            shape.setName("textWatermark");
            //Set shape fill type
            shape.getFill().setFillType(FillFormatType.NONE);
            //Set shape rotation angle
            shape.setRotation(-45);
            //Remove shape border
            shape.getLine().setFillType(FillFormatType.NONE);
            //Lock the shape to protect it from selecting and editing
            shape.getLocking().setSelectionProtection(true);

            //Add watermark text to the shape and set font color, font size and font name for the text
            shape.getTextFrame().setText("Confidential");
            PortionEx textRange = shape.getTextFrame().getTextRange();
            textRange.getFill().setFillType(FillFormatType.SOLID);
            textRange.getFill().getSolidColor().setColor(Color.GRAY);
            textRange.setFontHeight(40);
            textRange.setLatinFont(new TextFont("Arial"));
        }

        //Save the result document
        ppt.saveToFile("TextWatermark.pptx", FileFormat.PPTX_2013);
    }
}

Add text watermark to PowerPoint using Java

在Java中的PowerPoint文档中添加图像水印

以下是向PowerPoint文档添加图像水印的主要步骤:

  • 初始化演示的实例类。
  • 使用呈现加载PowerPoint文档。loadfromfile() method。
  • 循环浏览文档中的所有幻灯片。
  • 使用 iSlide.getShapes()。附录bbedimage()方法。
  • 设置图像名称,透明和边框。
  • 锁定图像以防止使用 iembedimage.getShapeLocking()。SetSelectionProtection()方法。
  • 使用 essiontion.savetofile()方法保存结果文档。
import com.spire.presentation.*;
import com.spire.presentation.drawing.FillFormatType;

import java.awt.geom.Rectangle2D;

public class ImageWatermark {
    public static void main(String []args) throws Exception {
        //Load a PowerPoint document
        Presentation ppt = new Presentation();
        ppt.loadFromFile("Sample.pptx");

        //Loop through all slides in the document
        for(int i = 0; i < ppt.getSlides().getCount(); i++) {
            ISlide slide = ppt.getSlides().get(i);
            //Add a watermark image to the slide
            IEmbedImage image = slide.getShapes().appendEmbedImage(ShapeType.RECTANGLE, "img.jpg", new Rectangle2D.Double(340, 150, 200, 200));
            //Set image name
            image.setName("imageWatermark");
            //Set image transparency
            image.getPictureFill().getPicture().setTransparency(70);
            //Remove image border
            image.getLine().setFillType(FillFormatType.NONE);
            //Lock the image to protect it from selection
            image.getShapeLocking().setSelectionProtection(true);
        }

        //Save the result document
        ppt.saveToFile("ImageWatermark.pptx", FileFormat.PPTX_2013);
    }
}

Add image watermark to PowerPoint using Java

从Java的PowerPoint文档中删除水印

您可以使用其形状名称从PowerPoint文档中删除水印。以下是从PowerPoint文档中删除水印的主要步骤:

  • 初始化演示的实例类。
  • 使用呈现加载PowerPoint文档。loadfromfile() method。
  • 循环浏览文档中的所有幻灯片。
  • 循环穿过每张幻灯片上的所有形状。
  • 使用 ishape.getName() methot。
  • 使用 islide.getShapes()。removeat() methot。
  • 使用 essiontion.savetofile()方法保存结果文档。
import com.spire.presentation.*;

public class RemoveWatermark {
    public static void main(String []args) throws Exception {
        //Load a PowerPoint document
        Presentation ppt = new Presentation();
        ppt.loadFromFile("ImageWatermark.pptx");

        //Loop through all slides in the document
        for(int i = 0; i < ppt.getSlides().getCount(); i++)
        {
            ISlide slide = ppt.getSlides().get(i);
            //Loop through the shapes on the slide
            for (int j = slide.getShapes().getCount()-1; j >= 0; j--)
            {
                IShape shape = slide.getShapes().get(j);
                //Remove the shape named "imageWatermark"
                if (shape.getName().equals("imageWatermark"))
                {
                    slide.getShapes().removeAt(j);
                }
            }
        }

        //Save the result document
        ppt.saveToFile("RemoveWatermark.pptx", FileFormat.PPTX_2013);
    }
}

Remove Watermark from PowerPoint using Java