Agregar marca de agua a la hoja de Excel en Java

Se pueden agregar marcas de agua a los documentos para proteger el documento de la piratería o para mostrar cualquier símbolo o mensaje. En otras publicaciones, discutimos formas de agregar marcas de agua a diferentes documentos, imágenes y presentaciones. En este artículo, aprenderá cómo agregar una marca de agua a los libros de trabajo de Excel de diferentes maneras en Java. Aplicaremos marcas de agua por separado usando cada enfoque.

Los siguientes temas se tratan a continuación:

API de Java para hojas de Excel con marca de agua

GroupDocs.Watermark for Java es la API para automatizar las marcas de agua para documentos, presentaciones, imágenes y muchos otros formatos de archivo. La lista completa de formatos de documentos admitidos está disponible en la documentación.

Puede descargar el archivo JAR desde la sección de descargas o usar las últimas configuraciones de repositorio y dependencia Maven dentro de sus aplicaciones Java.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>https://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-watermark</artifactId>
        <version>21.3</version> 
</dependency>

Hojas de Excel con marca de agua usando Java

La API de marca de agua proporciona personalización al insertar la marca de agua en las hojas de cálculo como texto. Los siguientes son los pasos para agregar marcas de agua a los libros de trabajo de Excel en Java.

  • Cargue la hoja de cálculo de origen usando Marcador de agua y SpreadsheetLoadOptions.
  • Defina el texto de la marca de agua y las propiedades de apariencia usando TextWatermark.
  • Agregue la marca de agua definida a la hoja de cálculo de Excel usando el método add().
  • Guarde la hoja de cálculo resultante con marca de agua usando el método save().

El siguiente ejemplo de código Java agrega la marca de agua de texto a todas las hojas del libro de Excel con rotación y opacidad y la alineación establecida.

/*
 * Agregue marca de agua a todas las hojas del libro de Excel en Java
 */
// Cargue la hoja de cálculo
String filename = "path/spreadsheet.xlsx";
Watermarker watermarker = new Watermarker(filename, new SpreadsheetLoadOptions());

// Establecer la apariencia de la marca de agua de texto
TextWatermark watermark = new TextWatermark("DRAFT", new Font("Segoe UI", 19));
watermark.setHorizontalAlignment(HorizontalAlignment.Center);
watermark.setVerticalAlignment(VerticalAlignment.Center);
watermark.setRotateAngle(-45);
watermark.setSizingType(SizingType.ScaleToParentDimensions);
watermark.setScaleFactor(0.5);
watermark.setOpacity(0.5);

// Agregar marca de agua y guardar la hoja de cálculo con marca de agua
watermarker.add(watermark);
watermarker.save("path/watermark-all-spreadsheet.xlsx");
watermarker.close();

Hoja de Excel específica de marca de agua usando Java

Del mismo modo, también puede insertar marcas de agua en cualquier hoja del libro de trabajo. Los siguientes pasos guían sobre cómo aplicar una marca de agua de texto a la hoja específica del libro de Excel en Java.

  • Cargue la hoja de cálculo usando el Marcador de agua.
  • Configure la apariencia y el texto de la marca de agua con TextWatermark.
  • Establezca el índice de la hoja de trabajo para que la marca de agua se aplique solo a la hoja mencionada.
  • Agregue la marca de agua de texto a la hoja de cálculo de Excel usando el método add() con opciones de marca de agua.
  • Guarde la hoja de cálculo de salida que tiene la marca de agua usando el método save().

El siguiente fragmento de código Java aplica la marca de agua de texto solo a la hoja mencionada del libro de Excel.

/*
 * Agregue una marca de agua solo a la hoja mencionada del libro de Excel usando Java
 */
// Cargue la hoja de cálculo
String filename = "path/spreadsheet.xlsx";
Watermarker watermarker = new Watermarker(filename, new SpreadsheetLoadOptions());

// Establecer marca de agua de texto y su índice de hoja de trabajo
TextWatermark watermark = new TextWatermark("DRAFT", new Font("Segoe UI", 19));
SpreadsheetWatermarkModernWordArtOptions options = new SpreadsheetWatermarkModernWordArtOptions();               
options.setWorksheetIndex(0);

// Agregar marca de agua y guardar la hoja de cálculo con marca de agua
watermarker.add(watermark, options);
watermarker.save("path/watermark-single-sheet.xlsx");
watermarker.close();

Hojas de Excel con marca de agua como fondo usando Java

Asimismo, también podemos añadir marcas de agua como fondo de la hoja de cálculo. Habrá alguna modificación al enfoque anterior para aplicar marcas de agua. Los siguientes son los pasos que insertan una marca de agua de texto de fondo en una hoja de cálculo de Excel en Java.

  • Cargue la hoja de cálculo usando Marcador de agua.
  • Prepare el texto de la marca de agua y su apariencia usando TextWatermark.
  • Establezca la configuración de la marca de agua para que sea como fondo usando las opciones de marca de agua obteniendo el contenido y configurando las dimensiones.
  • Agregue la marca de agua a las hojas del libro de trabajo usando el método add().
  • Por último, guarde la hoja de cálculo con marca de agua utilizando el método save().

El siguiente ejemplo de código se puede usar para agregar una marca de agua de texto de fondo a una hoja de cálculo de Excel en Java.

/*
 * Agregar marca de agua como fondo a Excel Workbook en Java
 */
// Cargue la hoja de cálculo
String filename = "path/spreadsheet.xlsx";
Watermarker watermarker = new Watermarker(filename, new SpreadsheetLoadOptions());

// Establecer la apariencia de la marca de agua de texto
TextWatermark watermark = new TextWatermark("DRAFT", new Font("Segoe UI", 19));
watermark.setHorizontalAlignment(HorizontalAlignment.Center);
watermark.setVerticalAlignment(VerticalAlignment.Center);
watermark.setRotateAngle(-45);
watermark.setSizingType(SizingType.ScaleToParentDimensions);
watermark.setScaleFactor(0.5);
watermark.setOpacity(0.5);

// Agregar marca de agua al fondo
SpreadsheetContent content = watermarker.getContent(SpreadsheetContent.class);
SpreadsheetBackgroundWatermarkOptions options = new SpreadsheetBackgroundWatermarkOptions();
options.setBackgroundWidth(content.getWorksheets().get_Item(0).getContentAreaWidthPx()); /* set background width */
options.setBackgroundHeight(content.getWorksheets().get_Item(0).getContentAreaHeightPx()); /* set background height */

// Guardar la hoja de cálculo con marca de agua
watermarker.add(watermark, options);
watermarker.save("path/watermark-background-spreadsheet.xlsx");
watermarker.close();
Hojas de Excel con marca de agua programáticamente

Obtenga una licencia de API gratuita

Puede obtener una licencia temporal gratuita para utilizar la API sin las limitaciones de evaluación.

Conclusión

En este artículo, discutimos cómo podemos agregar marcas de agua a las hojas de Excel de diferentes maneras dentro de la aplicación Java. Aprendimos a insertar una marca de agua de texto en todas las hojas del libro de Excel y luego aplicamos la marca de agua solo a la hoja específica. Posteriormente, aplicamos la marca de agua como fondo. Ahora puede usar esta función y crear su propia aplicación para hojas de cálculo de marcas de agua.

Obtenga más información sobre la API en la documentación. Para consultas, contáctenos a través del foro.

Ver también