將水印添加到 PowerPoint Java

水印通常用於指定所有權或防止未經授權使用文檔。另一方面,它們也用於顯示手稿、草稿等文檔的狀態。在本文中,您將學習如何使用 Java 以編程方式向 PowerPoint 幻燈片添加文本或圖像水印。

用於向 PowerPoint 幻燈片添加水印的 Java API

為了向 PowerPoint 幻燈片添加水印,我們將使用 Aspose.Slides for Java。它是一個表示操作 API,允許您從 Java 應用程序中創建和操作表示文檔。您可以 下載 API 或使用以下 Maven 配置安裝它。

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-slides</artifactId>
    <version>21.7</version>
    <classifier>jdk16</classifier>
</dependency>

在 Java 中將文本水印添加到 PowerPoint 幻燈片

以下是使用 Java 將文本水印添加到 PowerPoint 幻燈片的步驟。

  • 首先,使用 Presentation 類加載 PowerPoint 演示文稿。
  • IMasterSlide 對像中獲取幻燈片母版的引用。
  • 根據演示文稿的尺寸計算水印的位置。
  • 向幻燈片的 Shapes 集合添加一個新的自動形狀,並在 IAutoShape 對像中獲取其引用。
  • 將文本框添加到形狀並使用 IAutoShape.addTextFrame(string) 方法設置其文本。
  • 設置水印的字體大小、顏色和旋轉角度。
  • 鎖定水印以避免刪除或修改。
  • 最後,使用 Presentation.save(string, SaveFormat) 方法保存更新後的 PowerPoint 文件。

以下代碼示例顯示如何向 PowerPoint 幻燈片添加文本水印。

// 打開演示文稿
Presentation pres = new Presentation("presentation.pptx");

try {
	// 訪問大師
	IMasterSlide master = pres.getMasters().get_Item(0);

	Point2D.Float center = new Point2D.Float((float) pres.getSlideSize().getSize().getWidth() / 2,
			(float) pres.getSlideSize().getSize().getHeight() / 2);

	float width = 300;
	float height = 300;
	float x = (float) center.getX() - width / 2;
	float y = (float) center.getY() - height / 2;

	// 添加形狀
	IAutoShape watermarkShape = master.getShapes().addAutoShape(ShapeType.Rectangle, x, y, width, height);

	// 設置填充類型
	watermarkShape.getFillFormat().setFillType(FillType.NoFill);
	watermarkShape.getLineFormat().getFillFormat().setFillType(FillType.NoFill);

	// 設置旋轉角度
	watermarkShape.setRotation(-45);

	// 設置文字
	ITextFrame watermarkTextFrame = watermarkShape.addTextFrame("Watermark");

	// 設置字體和顏色
	IPortion watermarkPortion = watermarkTextFrame.getParagraphs().get_Item(0).getPortions().get_Item(0);
	watermarkPortion.getPortionFormat().setFontHeight(52);

	int alpha = 150, red = 200, green = 200, blue = 200;
	watermarkPortion.getPortionFormat().getFillFormat().setFillType(FillType.Solid);
	watermarkPortion.getPortionFormat().getFillFormat().getSolidFillColor()
			.setColor(new Color(red, green, blue, alpha));

	// 鎖定形狀以防止修改
	watermarkShape.getAutoShapeLock().setSelectLocked(true);
	watermarkShape.getAutoShapeLock().setSizeLocked(true);
	watermarkShape.getAutoShapeLock().setTextLocked(true);
	watermarkShape.getAutoShapeLock().setPositionLocked(true);
	watermarkShape.getAutoShapeLock().setGroupingLocked(true);

	// 保存演示文稿
	pres.save("watermarked-presentation.pptx", SaveFormat.Pptx);

} finally {
	if (pres != null)
		pres.dispose();
}

輸出

以下是添加水印後的PowerPoint幻燈片截圖。

給PPT Java添加文本水印

用Java給PPT幻燈片添加圖片水印

下面是用Java給PPT幻燈片添加圖片水印的步驟。

以下代碼示例演示如何將圖像水印添加到 PowerPoint 幻燈片。

// 打開演示文稿
Presentation pres = new Presentation("presentation.pptx");

try {
	// 訪問幻燈片母版
	IMasterSlide master = pres.getMasters().get_Item(0);

	Point2D.Float center = new Point2D.Float((float) pres.getSlideSize().getSize().getWidth() / 2,
			(float) pres.getSlideSize().getSize().getHeight() / 2);

	float width = 300;
	float height = 300;
	float x = (float) center.getX() - width / 2;
	float y = (float) center.getY() - height / 2;

	// 添加形狀
	IAutoShape watermarkShape = master.getShapes().addAutoShape(ShapeType.Rectangle, x, y, width, height);

	IPPImage image = pres.getImages().addImage(Files.readAllBytes(Paths.get("watermark.png")));

	// 設置填充類型
	watermarkShape.getFillFormat().setFillType(FillType.Picture);
	watermarkShape.getFillFormat().getPictureFillFormat().getPicture().setImage(image);
	watermarkShape.getFillFormat().getPictureFillFormat().setPictureFillMode(PictureFillMode.Stretch);
	watermarkShape.getLineFormat().getFillFormat().setFillType(FillType.NoFill);

	// 鎖定形狀以防止修改
	watermarkShape.getAutoShapeLock().setSelectLocked(true);
	watermarkShape.getAutoShapeLock().setSizeLocked(true);
	watermarkShape.getAutoShapeLock().setTextLocked(true);
	watermarkShape.getAutoShapeLock().setPositionLocked(true);
	watermarkShape.getAutoShapeLock().setGroupingLocked(true);

	// 保存演示文稿
	pres.save("watermarked-presentation-image.pptx", SaveFormat.Pptx);

} finally {
	if (pres != null)
		pres.dispose();
}

以下是添加圖片水印後的演示文稿截圖。

添加圖片水印到PPT Java

PowerPoint 的 Java Watermarking API - 獲取免費許可證

通過申請臨時許可,您可以在沒有評估限制的情況下使用 Aspose.Slides for Java。

在線試用

嘗試使用以下使用 Aspose.Slides 開發的在線水印工具。

結論

在本文中,您學習瞭如何使用 Java 向 PowerPoint 幻燈片添加水印。分步指南和代碼示例演示瞭如何向 PowerPoint 演示文稿添加文本和圖像水印。此外,您可以查閱 文檔 來探索 API 的其他功能。此外,您可以隨時通過我們的 論壇 告訴我們您的疑問。

也可以看看