Agregar marca de agua a PDF usando C#

Aspose.PDF para .NET permite agregar marcas de agua a su documento PDF utilizando Artefactos. Por favor, consulte este artículo para resolver su tarea.

El siguiente fragmento de código también funciona con la biblioteca Aspose.PDF.Drawing.

Una marca de agua creada con Adobe Acrobat se llama un artefacto (como se describe en el 14.8.2.2 Contenido Real y Artefactos de la especificación PDF). Para trabajar con artefactos, Aspose.PDF tiene dos clases: Artifact y ArtifactCollection.

Para obtener todos los artefactos en una página en particular, la clase Page tiene la propiedad Artifacts. Este tema explica cómo trabajar con artefactos en archivos PDF.

Trabajando con Artefactos

La clase Artifact contiene las siguientes propiedades:

Artifact.Type – obtiene el tipo de artefacto (admite valores de la enumeración Artifact.ArtifactType donde los valores incluyen Fondo, Diseño, Página, Paginación e Indefinido). Artifact.Type – obtiene el tipo de artefacto (admite valores de la enumeración Artifact.ArtifactType donde los valores incluyen Fondo, Diseño, Página, Paginación e Indefinido). Artifact.Subtype – obtiene el subtipo de artefacto (admite los valores de la enumeración Artifact.ArtifactSubtype donde los valores incluyen Fondo, Pie de página, Encabezado, Indefinido, Marca de agua).

Artifact.Contents – Obtiene una colección de operadores internos del artefacto. Su tipo admitido es System.Collections.ICollection. Artifact.Form – Obtiene el XForm de un artefacto (si se utiliza XForm). Los artefactos de marcas de agua, encabezado y pie de página contienen XForm que muestra todos los contenidos del artefacto. Artifact.Image – Obtiene la imagen de un artefacto (si hay una imagen presente, de lo contrario nulo). Artifact.Text – Obtiene el texto de un artefacto. Artifact.Rectangle – Obtiene la posición de un artefacto en la página. Artifact.Rotation – Obtiene la rotación de un artefacto (en grados, un valor positivo indica rotación en sentido contrario a las agujas del reloj). Artifact.Rotation – Obtiene la rotación de un artefacto (en grados, un valor positivo indica rotación en sentido contrario a las agujas del reloj). Artifact.Opacity – Obtiene la opacidad de un artefacto. Los valores posibles están en el rango de 0…1, donde 1 es completamente opaco.

Ejemplos de Programación: Cómo Agregar una Marca de Agua en Archivos PDF

El siguiente fragmento de código muestra cómo obtener cada marca de agua en la primera página de un archivo PDF con C#.

public static void AddWatermarks()
{
    Document document = new Document(_dataDir + "text.pdf");
    WatermarkArtifact artifact = new WatermarkArtifact();
    artifact.SetTextAndState(
        "WATERMARK",
        new TextState()
        {
            FontSize = 72,
            ForegroundColor = Color.Blue,
            Font = FontRepository.FindFont("Courier")
        });
    artifact.ArtifactHorizontalAlignment = HorizontalAlignment.Center;
    artifact.ArtifactVerticalAlignment = VerticalAlignment.Center;
    artifact.Rotation = 45;
    artifact.Opacity = 0.5;
    artifact.IsBackground = true;
    document.Pages[1].Artifacts.Add(artifact);
    document.Save(_dataDir + "watermark.pdf");
}