Agregar marca de agua a pdf con GroupDocs.Watermark para Java

En esta guía aprenderá cómo agregar marca de agua a pdf archivos usando el SDK de GroupDocs.Watermark para Java. Revisaremos la carga de documentos desde disco, flujos o fuentes protegidas con contraseña, la aplicación de marcas de agua de texto o imagen, y finalmente la guardado del PDF actualizado. Ya sea que esté construyendo un procesador por lotes o un servicio de archivo único, estos pasos le brindan una solución confiable y lista para producción.

Respuestas rápidas

  • ¿Puedo agregar una marca de agua a un PDF protegido con contraseña? Sí – pase la contraseña al cargar el documento, luego aplique la marca de agua normalmente.
  • ¿Qué formatos pueden recibir marca de agua? Más de 30 formatos, incluidos PDF, DOCX, PPTX e imágenes.
  • ¿Necesito una licencia para desarrollo? Una licencia temporal funciona para pruebas; se requiere una licencia completa para producción.
  • ¿Qué versión de Java se requiere? Se admite Java 8 o superior.
  • ¿Se admite streaming? Absolutamente – puede cargar desde InputStream y guardar en OutputStream sin tocar el sistema de archivos.

¿Qué es agregar marca de agua a pdf?

Add watermark to pdf se refiere al proceso de superponer texto o imágenes semitransparentes en cada página de un documento PDF para transmitir propiedad, confidencialidad o marca. GroupDocs.Watermark para Java proporciona una API de una sola llamada que maneja la posición, opacidad y selección de rango de páginas automáticamente.

¿Por qué usar GroupDocs.Watermark para Java?

GroupDocs.Watermark admite más de 35 formatos de archivo y puede procesar PDFs de 500 páginas en menos de 2 segundos en una CPU de servidor típica. La biblioteca funciona completamente en memoria, por lo que nunca necesita Microsoft Office o Adobe Acrobat instalados. Su API es segura para subprocesos, lo que la hace ideal para servicios web de alto rendimiento.

Requisitos previos

  • Java 8 o superior instalado.
  • Proyecto Maven o Gradle configurado con la dependencia groupdocs-watermark.
  • Una licencia válida de GroupDocs.Watermark (licencia temporal para evaluación).
  • Archivos PDF que desea proteger, opcionalmente con contraseñas.

Cómo agregar marca de agua a pdf – paso a paso

Cargue el documento fuente, aplique una marca de agua y luego guarde el resultado. Las siguientes secciones responden directamente a cada subtarea.

Cómo cargar un documento desde disco?

Watermarker es la clase principal utilizada para cargar y manipular documentos para la marcación de agua. Proporcione la ruta completa del archivo al constructor Watermarker; el SDK detecta automáticamente el formato del archivo, valida el contenido y carga el documento en memoria listo para cualquier operación de marca de agua. Este enfoque funciona para PDFs, archivos Word, imágenes y muchos otros tipos compatibles.

Watermarker watermarker = new Watermarker("C:/files/input.pdf");

Después de esta línea, el PDF está completamente cargado en memoria, listo para cualquier operación de marca de agua.

Cómo cargar un documento desde un flujo?

Watermarker también puede aceptar un InputStream para cargar documentos directamente desde la memoria. Cuando recibe un archivo vía HTTP o una cola de mensajes, envuelva el arreglo de bytes en un ByteArrayInputStream y páselo al constructor Watermarker que acepta un InputStream. El SDK lee el flujo sin escribir en disco, preservando el rendimiento y la seguridad, y admite archivos grandes procesando los datos en fragmentos. Este método es ideal para servicios web y arquitecturas de micro‑servicios.

InputStream pdfStream = new ByteArrayInputStream(pdfBytes);
Watermarker watermarker = new Watermarker(pdfStream);

El SDK lee el flujo sin escribir en disco, preservando el rendimiento y la seguridad.

Cómo cargar un documento protegido con contraseña?

Watermarker admite cargar PDFs protegidos con contraseña proporcionando la contraseña como segundo argumento. Proporcione la contraseña como segundo argumento al constructor. El SDK descifra el PDF al vuelo, después de lo cual puede tratarlo como cualquier otro documento. Si la contraseña es correcta, todas las páginas se vuelven accesibles para la marcación de agua; de lo contrario, la biblioteca lanza una excepción clara que puede capturar y registrar para la solución de problemas.

Watermarker watermarker = new Watermarker("C:/files/secure.pdf", "mySecretPwd");

Si la contraseña es incorrecta, el SDK lanza una excepción informativa que puede capturar y registrar.

Cómo aplicar una marca de agua de texto?

TextWatermark representa una marca de agua textual que puede aplicarse a páginas con estilo personalizable. Cree un objeto TextWatermark con el texto, fuente, tamaño y color deseados. Luego llame a add en la instancia Watermarker, opcionalmente especificando rangos de páginas. La marca de agua se renderiza con la opacidad y rotación especificadas, y puede posicionarse usando ubicaciones predefinidas o coordenadas personalizadas, garantizando una apariencia consistente en todas las páginas.

TextWatermark watermark = new TextWatermark("Confidential", new Font("Arial", 36));
watermark.setColor(Color.RED);
watermark.setTransparency(0.5);
watermarker.add(watermark);

Esta llamada coloca la marca de agua en cada página por defecto; puede restringirla con new PageRange(1, 5) si es necesario.

Cómo aplicar una marca de agua de imagen?

ImageWatermark representa una marca de agua basada en imagen, como un logotipo o sello. Instancie un ImageWatermark con la ruta o flujo de su logotipo, luego agréguelo de forma similar a la marca de agua de texto. El SDK escala automáticamente la imagen para que se ajuste a la página mientras preserva su relación de aspecto, y puede ajustar la opacidad, rotación y posición para lograr el efecto visual deseado sin distorsionar el contenido original.

ImageWatermark imgWatermark = new ImageWatermark("C:/images/logo.png");
imgWatermark.setTransparency(0.3);
watermarker.add(imgWatermark);

El SDK escala la imagen para que se ajuste a la página mientras preserva la relación de aspecto.

Cómo guardar el documento con marca de agua?

save escribe el documento modificado en la ubicación especificada en el formato elegido. Llame a save con la ruta de salida y el formato deseado. El mismo formato que el origen se usa cuando omite el parámetro de formato. El método escribe el PDF modificado en disco, preservando todo el contenido original excepto las capas de marca de agua recién añadidas, y admite guardar en flujos para procesamiento adicional.

watermarker.save("C:/files/output.pdf");

El método escribe el PDF modificado en disco, preservando todo el contenido original excepto las capas de marca de agua recién añadidas.

Tutoriales disponibles

Cómo cargar documentos protegidos con contraseña en Java usando GroupDocs.Watermark

Aprenda cómo cargar y gestionar marcas de agua en documentos protegidos con contraseña usando GroupDocs.Watermark para Java. Esta guía ofrece instrucciones paso a paso, ejemplos prácticos y consejos de solución de problemas.

Cómo cargar y marcar con agua documentos Word protegidos con contraseña usando GroupDocs.Watermark en Java

Aprenda cómo usar GroupDocs.Watermark con Java para cargar, gestionar y aplicar marcas de agua a documentos Word protegidos con contraseña de manera eficiente.

Recursos adicionales

Problemas comunes y soluciones

  • Error de contraseña inválida – verifique la cadena de contraseña; debe estar codificada en UTF‑8.
  • Falta de memoria en PDFs grandes – habilite el modo de streaming usando los constructores Watermarker que aceptan InputStream y OutputStream.
  • Marca de agua no visible – asegúrese de que la opacidad de la marca de agua esté por encima de 0.1 y que el color contraste con el fondo de la página.

Preguntas frecuentes

Q: ¿Puedo agregar varias marcas de agua al mismo PDF?
A: Sí. Llame a watermarker.add() repetidamente con diferentes objetos TextWatermark o ImageWatermark; cada una se superpondrá en el orden en que se añadan.

Q: ¿La biblioteca preserva las anotaciones existentes?
A: Absolutamente. Todos los objetos PDF originales, incluidas anotaciones, campos de formulario y metadatos, permanecen intactos a menos que los modifique explícitamente.

Q: ¿Es posible aplicar marca de agua solo a páginas seleccionadas?
A: Sí. Pase un PageRange (p.ej., new PageRange(2, 4)) al método add para limitar la marca de agua a páginas específicas.

Q: ¿Cuál es el tamaño máximo de archivo soportado?
A: El SDK puede manejar archivos de hasta 2 GB sin cargar todo el documento en memoria, gracias a su arquitectura de streaming.

Q: ¿Cómo elimino una marca de agua después de haberla añadido?
A: Use watermarker.remove(watermarkId) donde watermarkId es el identificador devuelto cuando añadió inicialmente la marca de agua.


Última actualización: 2026-09-16
Probado con: GroupDocs.Watermark 23.9 para Java
Autor: GroupDocs

Tutoriales relacionados