Agregar marca de agua a PowerPoint Java

Las marcas de agua se utilizan comúnmente para especificar la propiedad o para evitar el uso no autorizado de los documentos. Por otro lado, también se utilizan para mostrar el estado de un documento, como un manuscrito, un borrador, etc. En este artículo, aprenderá cómo agregar una marca de agua de texto o imagen a las diapositivas de PowerPoint mediante programación usando Java.

API de Java para agregar marcas de agua a las diapositivas de PowerPoint

Para agregar marcas de agua a las diapositivas de PowerPoint, usaremos Aspose.Slides for Java. Es una API de manipulación de presentaciones que le permite crear y manipular documentos de presentación desde las aplicaciones Java. Puede descargar la API o instalarla usando las siguientes configuraciones de 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>

Agregar marca de agua de texto a las diapositivas de PowerPoint en Java

Los siguientes son los pasos para agregar una marca de agua de texto a las diapositivas de PowerPoint usando Java.

  • Primero, cargue la presentación de PowerPoint usando la clase Presentation.
  • Obtenga la referencia del patrón de diapositivas en un objeto IMasterSlide.
  • Calcular la posición de la marca de agua según las dimensiones de presentación.
  • Agregue una nueva forma automática a la colección Formas de la diapositiva y obtenga su referencia en el objeto IAutoForma.
  • Agregue un marco de texto a la forma y configure su texto usando el método IAutoShape.addTextFrame(string).
  • Establezca el tamaño de fuente, el color y el ángulo de rotación de la marca de agua.
  • Bloquee la marca de agua para evitar su eliminación o modificación.
  • Finalmente, guarde el archivo de PowerPoint actualizado usando el método Presentation.save(string, SaveFormat).

El siguiente ejemplo de código muestra cómo agregar una marca de agua de texto a las diapositivas de PowerPoint.

// Presentación abierta
Presentation pres = new Presentation("presentation.pptx");

try {
	// Maestro de acceso
	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;

	// Agregar forma
	IAutoShape watermarkShape = master.getShapes().addAutoShape(ShapeType.Rectangle, x, y, width, height);

	// Establecer tipo de relleno
	watermarkShape.getFillFormat().setFillType(FillType.NoFill);
	watermarkShape.getLineFormat().getFillFormat().setFillType(FillType.NoFill);

	// Establecer ángulo de rotación
	watermarkShape.setRotation(-45);

	// Establecer texto
	ITextFrame watermarkTextFrame = watermarkShape.addTextFrame("Watermark");

	// Establecer fuente y color
	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));

	// Bloquear formas para que no se modifiquen
	watermarkShape.getAutoShapeLock().setSelectLocked(true);
	watermarkShape.getAutoShapeLock().setSizeLocked(true);
	watermarkShape.getAutoShapeLock().setTextLocked(true);
	watermarkShape.getAutoShapeLock().setPositionLocked(true);
	watermarkShape.getAutoShapeLock().setGroupingLocked(true);

	// Guardar la presentación
	pres.save("watermarked-presentation.pptx", SaveFormat.Pptx);

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

Producción

La siguiente es la captura de pantalla de la diapositiva de PowerPoint después de agregar la marca de agua.

Agregar marca de agua de texto a PPT Java

Agregue una marca de agua de imagen a las diapositivas de PowerPoint en Java

Los siguientes son los pasos para agregar una marca de agua de imagen a las diapositivas de PowerPoint en Java.

El siguiente ejemplo de código muestra cómo agregar una marca de agua de imagen a las diapositivas de PowerPoint.

// Presentación abierta
Presentation pres = new Presentation("presentation.pptx");

try {
	// Acceder al patrón de diapositivas
	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;

	// Agregar forma
	IAutoShape watermarkShape = master.getShapes().addAutoShape(ShapeType.Rectangle, x, y, width, height);

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

	// Establecer tipo de relleno
	watermarkShape.getFillFormat().setFillType(FillType.Picture);
	watermarkShape.getFillFormat().getPictureFillFormat().getPicture().setImage(image);
	watermarkShape.getFillFormat().getPictureFillFormat().setPictureFillMode(PictureFillMode.Stretch);
	watermarkShape.getLineFormat().getFillFormat().setFillType(FillType.NoFill);

	// Bloquear formas para que no se modifiquen
	watermarkShape.getAutoShapeLock().setSelectLocked(true);
	watermarkShape.getAutoShapeLock().setSizeLocked(true);
	watermarkShape.getAutoShapeLock().setTextLocked(true);
	watermarkShape.getAutoShapeLock().setPositionLocked(true);
	watermarkShape.getAutoShapeLock().setGroupingLocked(true);

	// Guardar la presentación
	pres.save("watermarked-presentation-image.pptx", SaveFormat.Pptx);

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

La siguiente es la captura de pantalla de la presentación después de agregar una marca de agua de imagen.

Agregar marca de agua de imagen a PPT Java

Obtenga una licencia de API gratuita

Puede usar Aspose.Slides for Java sin limitaciones de evaluación solicitando una licencia temporal.

Prueba en línea

Pruebe la siguiente herramienta de marca de agua en línea que se desarrolla con Aspose.Slides.

Conclusión

En este artículo, ha aprendido cómo agregar una marca de agua a las diapositivas de PowerPoint usando Java. La guía paso a paso y los ejemplos de código han demostrado cómo agregar marcas de agua de texto e imágenes a las presentaciones de PowerPoint. Además, puede consultar la documentación para explorar otras funciones de la API. Además, no dude en hacernos saber sus consultas a través de nuestro foro.

Ver también