Las marcas de agua se utilizan normalmente para evitar cualquier uso ilegal de documentos confidenciales. Cuando la confidencialidad ya no sea necesaria, será mejor que elimine las marcas de agua de dichos documentos. Puede haber marcas de agua basadas en texto e imágenes en un documento. Hoy veremos cómo eliminar marcas de agua de documentos PDF usando C#.

Eliminar marca de agua de documentos PDF

.NET API para eliminar marcas de agua de PDF

GroupDocs.Watermark muestra la API de .NET para tratar las marcas de agua en documentos e imágenes de diferentes formatos de archivo. Si está creando una aplicación de eliminación de marcas de agua, le proporciona algunas formas útiles de:

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

Aprendamos cómo un desarrollador de C# puede eliminar las marcas de agua de un PDF usando la API GroupDocs.Watermark for .NET de diferentes maneras.

Eliminar todas las marcas de agua del documento PDF usando C#

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 de un documento. El siguiente código elimina todas las marcas de agua de un documento PDF usando C#.

  • Cargue el archivo PDF usando 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 todas las marcas de agua o la que cumpla con su criterio.
  • Guarde el PDF actualizado sin más marcas de agua.

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

// Elimine las marcas de agua de PDF y otros documentos usando C#
using (Watermarker watermarker = new Watermarker("filepath/documentWithWatermarks.pdf"))
{
    PossibleWatermarkCollection possibleWatermarks = watermarker.Search();

    // Elimine todas las marcas de agua mencionando el índice dentro del documento.
    for (int i = 0; i < possibleWatermarks.Count; i++)
    {
        possibleWatermarks.RemoveAt(i);
    }
    watermarker.Save("filepath/no-watermarks.pdf");
}

Eliminar marca de agua de PDF con formato de texto particular usando C#

Con la API, puede buscar y eliminar las marcas de agua según el formato del texto. Puede proporcionar un criterio de búsqueda que contenga nombre, fuente, tamaño, color, etc. y la API encontrará las marcas de agua con propiedades coincidentes. El siguiente fragmento de código muestra cómo buscar y eliminar marcas de agua de un archivo PDF con un formato de texto específico mediante C#.

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

El siguiente código C# 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 usando C#
using (Watermarker watermarker = new Watermarker("path/Watermarks.pdf"))
{
    TextFormattingSearchCriteria criteria = new TextFormattingSearchCriteria();
    criteria.ForegroundColorRange = new ColorRange();
    criteria.ForegroundColorRange.MinHue = -5;
    criteria.ForegroundColorRange.MaxHue = 10;
    criteria.ForegroundColorRange.MinBrightness = 0.01f;
    criteria.ForegroundColorRange.MaxBrightness = 0.99f;
    criteria.BackgroundColorRange = new ColorRange();
    criteria.BackgroundColorRange.IsEmpty = true;
    criteria.FontName = "Arial";
    criteria.MinFontSize = 19;
    criteria.MaxFontSize = 42;
    criteria.FontBold = true;

    PossibleWatermarkCollection possibleWatermarks = watermarker.Search(criteria);
    possibleWatermarks.Clear();

    watermarker.Save("path/removed-watermarks.pdf");
}

Eliminador de marcas de agua de hipervínculos en .NET

La API de .NET de marca de agua de documentos le permite buscar y eliminar hipervínculos en un documento de cualquier formato de documento compatible. Los siguientes pasos permiten eliminar marcas de agua de hipervínculos de un documento PDF dentro de la aplicación .NET usando C#.

  • Cargue el archivo PDF usando 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 todas las marcas de agua o la que cumpla con su criterio.
  • Guarde el PDF actualizado sin más marcas de agua.

El siguiente ejemplo de código de C# muestra cómo buscar 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 usando C#
using (Watermarker watermarker = new Watermarker("path/Hyperlink-Watermarks.pdf"))
{
    PossibleWatermarkCollection watermarks = watermarker.Search(new TextSearchCriteria(new Regex(@"someurl\.com")));
    for (int i = 0 ; i < watermarks.Count; i++)
    {
        if (watermarks[i] is HyperlinkPossibleWatermark)
        {
            Console.WriteLine("Removing: " + watermarks[i].Text);
            watermarks.RemoveAt(i);
        }
    }
    watermarker.Save("path/no-hyperlink-watermarks.pdf");
}

Conclusión

Para concluir, hoy aprendimos a eliminar diferentes marcas de agua de los documentos PDF usando C#. Creo que ahora tendrá más confianza para crear su propia aplicación .NET para buscar y eliminar marcas de agua de texto, así como marcas de agua de imágenes de documentos PDF. Además, puede agregar funciones para eliminar marcas de agua con formato específico y marcas de agua de hipervínculo.

Además, puede obtener más información sobre GroupDocs.Watermark para .NET en su documentación . Para consultas, contáctenos a través del foro.

Ver también