Ajouter un filigrane à un PDF en utilisant C#

Aspose.PDF for .NET permet d’ajouter des filigranes à votre document PDF en utilisant des artefacts. Veuillez consulter cet article pour résoudre votre tâche.

Le code suivant fonctionne également avec la bibliothèque Aspose.PDF.Drawing.

Un filigrane créé avec Adobe Acrobat est appelé un artefact (comme décrit dans 14.8.2.2 Contenu réel et artefacts de la spécification PDF). Afin de travailler avec des artefacts, Aspose.PDF a deux classes : Artifact et ArtifactCollection.

Pour obtenir tous les artefacts sur une page particulière, la classe Page a la propriété Artifacts. Ce sujet explique comment travailler avec des artefacts dans des fichiers PDF.

Travailler avec des artefacts

La classe Artifact contient les propriétés suivantes :

  • Artifact.Type : obtient le type d’artefact (prend en charge les valeurs de l’énumération Artifact.ArtifactType où les valeurs incluent Background, Layout, Page, Pagination et Undefined).
  • Artifact.Subtype : obtient le sous-type d’artefact (prend en charge les valeurs de l’énumération Artifact.ArtifactSubtype où les valeurs incluent Background, Footer, Header, Undefined, Watermark).
  • Artifact.Contents : Obtient une collection des opérateurs internes de l’artefact. Son type pris en charge est System.Collections.ICollection.
  • Artifact.Form : Obtient un XForm d’un artefact (si XForm est utilisé). Les filigranes, en-têtes et pieds de page contiennent un XForm qui montre tous les contenus de l’artefact.
  • Artifact.Image : Obtient l’image d’un artefact (si une image est présente, sinon null).
  • Artifact.Text : Obtient le texte d’un artefact.
  • Artifact.Rectangle : Obtient la position d’un artefact sur la page.
  • Artifact.Rotation : Obtient la rotation d’un artefact (en degrés, une valeur positive indique une rotation dans le sens inverse des aiguilles d’une montre).
  • Artifact.Opacity : Obtient l’opacité d’un artefact. Les valeurs possibles sont dans la plage 0…1, où 1 est complètement opaque.

Comment ajouter un filigrane sur des fichiers PDF

Le code suivant montre comment obtenir chaque filigrane sur la première page d’un fichier PDF avec C#.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void AddWatermarks()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_StampsWatermarks();
    
    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "AddWatermarksInput.pdf"))
    {
        // Create a new watermark artifact
        var artifact = new Aspose.Pdf.WatermarkArtifact();
        artifact.SetTextAndState(
            "WATERMARK",
            new Aspose.Pdf.Text.TextState()
            {
                FontSize = 72,
                ForegroundColor = Aspose.Pdf.Color.Blue,
                Font = Aspose.Pdf.Text.FontRepository.FindFont("Courier")
            });
        // Set watermark properties
        artifact.ArtifactHorizontalAlignment = Aspose.Pdf.HorizontalAlignment.Center;
        artifact.ArtifactVerticalAlignment = Aspose.Pdf.VerticalAlignment.Center;
        artifact.Rotation = 45;
        artifact.Opacity = 0.5;
        artifact.IsBackground = true;
        // Add watermark artifact to the first page
        document.Pages[1].Artifacts.Add(artifact);
        // Save PDF document
        document.Save(dataDir + "AddWatermarks_out.pdf");
    }
}