Las marcas de agua se utilizan principalmente para documentos mencionados como borradores y para evitar cualquier uso ilegal de documentos confidenciales. Cuando finalice el borrador o finalice la confidencialidad, puede eliminar las marcas de agua de dichos documentos. Las marcas de agua pueden estar basadas en texto o en imágenes. En este artículo, veremos cómo eliminar marcas de agua de documentos PDF en Java.

Eliminar marcas de agua mediante programación de archivos PDF.

API de Java para eliminar marcas de agua de PDF

GroupDocs.Watermark proporciona una API de Java para tratar con marcas de agua dentro de documentos e imágenes de diferentes formatos de archivo. Si está creando una aplicación de eliminación de marcas de agua, le brinda algunas formas útiles de:

  • Eliminar todas las marcas de agua del documento PDF
  • Eliminar marcas de agua de hipervínculo
  • Eliminar marcas de agua con formato de texto particular

Aprendamos cómo un desarrollador de Java puede eliminar marcas de agua de PDF utilizando GroupDocs.Watermark for Java API de diferentes maneras. En primer lugar, descarga y configura la API con tu aplicación.

Descargar o configurar

Puede descargar el archivo JAR desde la sección 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>

Eliminar todas las marcas de agua de los archivos PDF en Java

La API le brinda el poder de encontrar y luego eliminar fácilmente una marca de agua en particular y todas las marcas de agua del documento. Los siguientes pasos muestran cómo eliminar todas las marcas de agua de un documento PDF en Java.

  • Cargue el documento PDF utilizando Marcador de agua.
  • Obtenga todas las marcas de agua posibles como una colección mediante la búsqueda.
  • Recorra toda la colección y elimine cada marca de agua o la que cumpla con el criterio.
  • Guarde el PDF actualizado sin marca de agua.

El siguiente código Java elimina todas las marcas de agua de un documento PDF.

// Eliminar las marcas de agua de PDF y otros documentos en Java
Watermarker watermarker = new Watermarker("filepath/document-with-watermarks.pdf");

PossibleWatermarkCollection possibleWatermarks = watermarker.search();
for (int i = 0 ; i < watermarks.getCount(); i++)
{
    // Elimine todas las marcas de agua mencionando el índice dentro del documento.
    possibleWatermarks.removeAt(i);
}
watermarker.save("filepath/no-watermarks.pdf");
watermarker.close();

Eliminar marca de agua de hipervínculo en Java

La API de marca de agua permite buscar y eliminar hipervínculos del documento PDF. Los siguientes pasos permiten eliminar marcas de agua de hipervínculos de un documento PDF dentro de la aplicación Java.

  • Cargue el archivo PDF usando Marcador de agua.
  • Obtén las posibles marcas de agua como una colección mediante la búsqueda.
  • Recorra la colección y elimine las marcas de agua que cumplan con el criterio.
  • Guarde el PDF actualizado sin más marcas de agua.

El siguiente ejemplo de código Java muestra cómo encontrar y eliminar marcas de agua de hipervínculos con una URL particular de un documento PDF.

// Eliminar marcas de agua de hipervínculo de PDF en Java
Watermarker watermarker = new Watermarker("path/watermark-document.pdf");

PossibleWatermarkCollection watermarks = watermarker.search(new TextSearchCriteria(Pattern.compile("someurl.com")));
for (int i = 0 ; i < watermarks.getCount(); i++)
{
    if (HyperlinkPossibleWatermark.class.isInstance(watermarks.get_Item(i)))
    {
        System.out.println(watermarks.get_Item(i).getText());
        watermarks.removeAt(i);
    }
}
watermarker.save("path/no-hyperlink-watermarks.pdf");

Eliminar marca de agua de PDF con formato de texto particular en Java

La marca de agua que tiene el formato de texto específico también se puede eliminar. Puede proporcionar el nombre de la fuente, su tamaño, color, etc. como criterio de búsqueda. La API encontrará las marcas de agua que tengan propiedades coincidentes. Los siguientes pasos demuestran cómo buscar y eliminar marcas de agua de un archivo PDF que tiene un formato de texto específico en Java.

  • Cargue el archivo PDF usando Marcador de agua.
  • Establezca el criterio de búsqueda utilizando TextFormattingSearchCriteria.
  • Proporcione todas las propiedades de formato requeridas.
  • Busque y obtenga todas las marcas de agua posibles como una colección proporcionando los criterios definidos.
  • Elimina todas las marcas de agua buscadas usando el método clear().
  • Guarde el PDF actualizado sin marca de agua con las propiedades definidas.

El siguiente código Java elimina las marcas de agua en un documento PDF que tiene el formato de texto especificado.

// Eliminar marcas de agua con formato de texto específico de un PDF en Java
Watermarker watermarker = new Watermarker("path/watermarks.pdf");

TextFormattingSearchCriteria criteria = new TextFormattingSearchCriteria();
criteria.setForegroundColorRange(new ColorRange());
criteria.getForegroundColorRange().setMinHue(-5);
criteria.getForegroundColorRange().setMaxHue(10);
criteria.getForegroundColorRange().setMinBrightness(0.01f);
criteria.getForegroundColorRange().setMaxBrightness(0.99f);
criteria.setBackgroundColorRange(new ColorRange());
criteria.getBackgroundColorRange().setEmpty(true);
criteria.setFontName("Arial");
criteria.setMinFontSize(19);
criteria.setMaxFontSize(42);
criteria.setFontBold(true);

PossibleWatermarkCollection watermarks = watermarker.search(criteria);
watermarks.clear();
watermarker.save("path/removed-watermarks.pdf");
watermarker.close();

Conclusión

En resumen, aprendimos formas de eliminar diferentes marcas de agua de los documentos PDF en Java. Eliminamos específicamente todas las marcas de agua aplicadas, luego eliminamos las marcas de agua de hipervínculos y las marcas de agua con formato de texto específico. Intente crear su propia aplicación Java para encontrar y eliminar las marcas de agua de los documentos PDF. Además, puede obtener más información sobre GroupDocs.Watermark for Java en su documentación. Para consultas, contáctenos a través del foro.

Ver también