
La imagen o el texto de la marca de agua se utiliza para identificar el autor del documento o la información de derechos de autor. Puede detectar todas las marcas de agua disponibles en un documento y luego eliminarlas. Como desarrollador de Java, puede eliminar fácilmente las marcas de agua de los documentos mediante programación. En este artículo, aprenderá cómo eliminar marcas de agua de documentos PDF usando Java.
Los siguientes temas se discuten/tratan en este artículo:
- API de Java para la eliminación de marcas de agua
- Eliminar todas las marcas de agua de PDF usando Java
- Eliminación de marcas de agua de solo texto de PDF usando Java
- Eliminar marcas de agua con formato de texto particular
- Eliminación de marcas de agua de solo imagen de PDF usando Java
API de Java para la eliminación de marcas de agua
Usaré la API GroupDocs.Watermark for Java para eliminar las marcas de agua de los documentos PDF. Permite realizar operaciones de marca de agua de imágenes y texto. También le permite aplicar nuevas marcas de agua, buscar y eliminar marcas de agua existentes en archivos de formatos admitidos como Word, Excel, Powerpoint y PDF.
Puede descargar el JAR de la API o simplemente agregar la siguiente configuración pom.xml en sus aplicaciones Java basadas en Maven para probar los ejemplos de código que se mencionan a continuación.
<repository>
<id>GroupDocsJavaAPI</id>
<name>GroupDocs Java API</name>
<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-watermark</artifactId>
<version>20.5</version>
</dependency>
Eliminar todas las marcas de agua de PDF usando Java
Puede eliminar fácilmente todas las marcas de agua de sus documentos PDF siguiendo los sencillos pasos que se mencionan a continuación:
- Crea una instancia de la clase Marcador de agua
- Especifique la ruta al archivo PDF de entrada
- Complete PossibleWatermarkCollection llamando al método search()
- Llame al método clear() para eliminar todas las marcas de agua
- Guardar el archivo actualizado
El siguiente ejemplo de código muestra cómo eliminar todas las marcas de agua disponibles en un documento PDF mediante Java.
// Crear una instancia
Watermarker watermarker = new Watermarker("C:\\Files\\sample.pdf");
// Buscar todas las marcas de agua posibles
PossibleWatermarkCollection possibleWatermarks = watermarker.search();
// Eliminar todas las marcas de agua encontradas
possibleWatermarks.clear();
// Guardar archivo actualizado
watermarker.save("C:\\Files\\output.pdf");
watermarker.close();

Eliminar todas las marcas de agua de PDF usando Java
La clase Watermarker facilita la adición, eliminación y búsqueda de marcas de agua en un documento.
La clase PossibleWatermarkCollection representa una colección de posibles marcas de agua encontradas en un contenido.
El método search() de la clase Watermarker busca todas las marcas de agua posibles en el documento. Devuelve el conjunto de resultados como PossibleWatermarkCollection.
Eliminación de marcas de agua de solo texto de PDF usando Java
Puede eliminar fácilmente todas las marcas de agua de solo texto de sus documentos PDF siguiendo los sencillos pasos que se mencionan a continuación:
- Crea una instancia de la clase Marcador de agua
- Especifique la ruta al archivo PDF de entrada
- Complete PossibleWatermarkCollection llamando al método search()
- Compruebe si getText() no es nulo o está vacío para todas las posibles marcas de agua
- Luego pase el índice al método removeAt() para eliminarlo
- Guardar el archivo actualizado
El siguiente ejemplo de código muestra cómo eliminar solo las marcas de agua de texto disponibles en un documento PDF usando Java.
// Crear una instancia
Watermarker watermarker = new Watermarker("C:\\Files\\sample.pdf");
// Buscar todas las marcas de agua posibles
PossibleWatermarkCollection possibleWatermarks = watermarker.search();
// Eliminar todas las marcas de agua encontradas
for (int i = possibleWatermarks.getCount() - 1; i >= 0; i--)
{
if(possibleWatermarks.get_Item(i).getText() != null && possibleWatermarks.get_Item(i).getText() != "")
{
possibleWatermarks.removeAt(i);
}
}
// Guardar documento actualizado
watermarker.save("C:\\Files\\output.pdf");
watermarker.close();

Eliminación de marcas de agua de solo texto de PDF usando Java
El método removeAt() elimina el elemento en el índice especificado de la PossibleWatermarksCollection.
Eliminar marcas de agua con formato de texto particular
Puede eliminar las marcas de agua de texto disponibles con un formato particular de sus documentos PDF siguiendo los sencillos pasos que se mencionan a continuación:
- Crea una instancia de la clase Marcador de agua
- Especifique la ruta al archivo PDF de entrada
- Definir los TextFormattingSearchCriteria
- Complete PossibleWatermarkCollection llamando al método search()
- Llame al método clear() para eliminar todas las marcas de agua encontradas
- Guardar el archivo actualizado
El siguiente ejemplo de código muestra cómo eliminar las marcas de agua de texto con un formato de texto particular de un documento PDF usando Java.
// Crear una instancia
Watermarker watermarker = new Watermarker("C:\\Files\\sample.pdf");
// Definir criterios de búsqueda de formato de texto
TextFormattingSearchCriteria criteria = new TextFormattingSearchCriteria();
criteria.setFontName("Arial");
criteria.setMinFontSize(19);
criteria.setMaxFontSize(42);
criteria.setFontBold(false);
// Buscar posibles marcas de agua
PossibleWatermarkCollection watermarks = watermarker.search(criteria);
watermarks.clear();
// Guardar documento actualizado
watermarker.save("C:\\Files\\output.pdf");
watermarker.close();

Eliminar marcas de agua con formato de texto particular
Eliminación de marcas de agua de solo imagen de PDF usando Java
Puede eliminar fácilmente todas las marcas de agua de solo imagen de sus documentos PDF siguiendo los sencillos pasos que se mencionan a continuación:
- Crea una instancia de la clase Marcador de agua
- Especifique la ruta al archivo PDF de entrada
- Complete PossibleWatermarkCollection llamando al método search()
- Compruebe si getImageData() no es nulo para todas las posibles marcas de agua
- Luego pase el índice al método removeAt() para eliminarlo
- Guardar el archivo actualizado
El siguiente ejemplo de código muestra cómo eliminar solo las marcas de agua de imagen disponibles en un documento PDF usando Java.
// Crear una instancia
Watermarker watermarker = new Watermarker("C:\\Files\\sample.pdf");
// Buscar todas las marcas de agua posibles
PossibleWatermarkCollection possibleWatermarks = watermarker.search();
// Eliminar todas las marcas de agua de la imagen
for (int i = possibleWatermarks.getCount() - 1; i >= 0; i--)
{
if(possibleWatermarks.get_Item(i).getImageData() != null)
{
possibleWatermarks.removeAt(i);
}
}
// Guardar documento actualizado
watermarker.save("C:\\Files\\output.pdf");
watermarker.close();

Eliminación de marcas de agua de solo imagen de PDF usando Java
Obtenga una licencia gratis
Puede probar la API sin limitaciones de evaluación solicitando una licencia temporal gratuita.
Conclusión
En este artículo, aprendió cómo eliminar marcas de agua de texto o imagen de un documento PDF usando Java. Además, ha aprendido a eliminar marcas de agua de solo texto o solo de imagen de los documentos. Puede obtener más información sobre GroupDocs.Watermark para la API de Java utilizando la documentación. En caso de cualquier ambigüedad, no dude en contactarnos en el foro.