Ajouter un filigrane à un PDF en utilisant Python

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

Pour travailler avec les artefacts, Aspose.PDF dispose de 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 les artefacts dans les fichiers PDF.

Travailler avec les artefacts

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

contents – Obtient une collection d’opérateurs internes d’artefact. Son type pris en charge est System.Collections.ICollection. form – Obtient le 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 d’artefact.

image – Obtient l’image d’un artefact (si une image est présente, sinon null). text – Obtient le texte d’un artefact.
rectangle – Obtient la position d’un artefact sur la page.
rotation – Obtient la rotation d’un artefact (en degrés, une valeur positive indique une rotation dans le sens antihoraire).
opacity – Obtient l’opacité d’un artefact. Les valeurs possibles sont dans la plage 0…1, où 1 est complètement opaque.

Exemples de Programmation : Comment Ajouter un Filigrane sur des Fichiers PDF

L’extrait de code suivant montre comment obtenir chaque filigrane sur la première page d’un fichier PDF avec Python.


    import aspose.pdf as ap

    document = ap.Document(input_pdf)
    artifact = ap.WatermarkArtifact()

    ts = ap.text.TextState()
    ts.font_size = 72
    ts.foreground_color = ap.Color.blue
    ts.font = ap.text.FontRepository.find_font("Courier")

    artifact.set_text_and_state("WATERMARK", ts)
    artifact.artifact_horizontal_alignment = ap.HorizontalAlignment.CENTER
    artifact.artifact_vertical_alignment = ap.VerticalAlignment.CENTER
    artifact.rotation = 45
    artifact.opacity = 0.5
    artifact.is_background = True
    document.pages[1].artifacts.append(artifact)
    document.save(output_pdf)