水印是文档背景上出现的文本或褪色图像。您可以在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);
}
}
在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);
}
}
从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);
}
}