Добавить водяной знак в PowerPoint Java

Водяные знаки обычно используются для указания владельца или для предотвращения несанкционированного использования документов. С другой стороны, они также используются для отображения статуса документа, такого как рукопись, черновик и т. д. В этой статье вы узнаете, как программно добавить текстовый или графический водяной знак на слайды PowerPoint с помощью Java.

Java API для добавления водяных знаков в слайды PowerPoint

Для добавления водяных знаков на слайды 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>

Добавить текстовый водяной знак на слайды PowerPoint в Java

Ниже приведены шаги по добавлению текстового водяного знака на слайды PowerPoint с помощью Java.

  • Сначала загрузите презентацию PowerPoint с помощью класса Presentation.
  • Получить ссылку на образец слайдов в объекте IMasterSlide.
  • Рассчитайте положение водяного знака в соответствии с размерами презентации.
  • Добавьте новую автофигуру в коллекцию Shapes слайда и получите ссылку на нее в объекте IAutoShape.
  • Добавьте текстовый фрейм к фигуре и задайте его текст с помощью метода IAutoShape.addTextFrame(string).
  • Установите размер шрифта, цвет и угол поворота водяного знака.
  • Заблокируйте водяной знак, чтобы избежать удаления или модификации.
  • Наконец, сохраните обновленный файл PowerPoint, используя метод Presentation.save(string, SaveFormat).

В следующем примере кода показано, как добавить текстовый водяной знак на слайды 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

Добавить водяной знак изображения на слайды PowerPoint в Java

Ниже приведены шаги по добавлению водяного знака изображения на слайды PowerPoint в Java.

  • Сначала загрузите презентацию PowerPoint с помощью класса Presentation.
  • Получить ссылку на образец слайдов в объекте IMasterSlide.
  • Рассчитайте положение водяного знака в соответствии с размерами презентации.
  • Добавьте новую автофигуру в коллекцию Shapes слайда и получите ссылку на нее в объекте IAutoShape.
  • Добавьте изображение в презентацию и получите ссылку на него в объекте IPPImage.
  • Установите тип заливки IAutoShape на FillType.Picture.
  • Установите изображение водяного знака с помощью метода IAutoShape.getFillFormat().getPictureFillFormat().getPicture().setImage(IPPImage).
  • Заблокируйте водяной знак, чтобы избежать удаления или модификации.
  • Наконец, сохраните обновленный файл PowerPoint, используя метод Presentation.save(string, SaveFormat).

В следующем примере кода показано, как добавить водяной знак изображения на слайды 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

Получите бесплатную лицензию API

Вы можете использовать Aspose.Slides for Java без ограничений на пробную версию, запросив временную лицензию.

Попробуйте онлайн

Попробуйте следующий онлайн-инструмент для создания водяных знаков, разработанный с использованием Aspose.Slides.

Вывод

В этой статье вы узнали, как добавить водяной знак на слайды PowerPoint с помощью Java. В пошаговом руководстве и примерах кода показано, как добавлять текстовые и графические водяные знаки в презентации PowerPoint. Кроме того, вы можете ознакомиться с документацией, чтобы изучить другие функции API. Кроме того, вы можете сообщить нам о своих вопросах через наш форум.

Смотрите также