Ajouter des tampons texte dans un PDF via Python

Ajouter un tampon de texte avec Python

Vous pouvez utiliser la classe TextStamp pour ajouter un tampon de texte dans un fichier PDF. La classe TextStamp fournit les propriétés nécessaires pour créer un tampon basé sur du texte comme la taille de la police, le style de la police, la couleur de la police, etc. Pour ajouter un tampon de texte, vous devez créer un objet Document et un objet TextStamp en utilisant les propriétés requises. Après cela, vous pouvez appeler la méthode add_stamp() de la Page pour ajouter le tampon dans le PDF. Le code suivant vous montre comment ajouter un tampon de texte dans le fichier PDF.


    import aspose.pdf as ap

    # Ouvrir le document
    document = ap.Document(input_pdf)

    # Créer un tampon de texte
    text_stamp = ap.TextStamp("Sample Stamp")
    # Définir si le tampon est en arrière-plan
    text_stamp.background = True
    # Définir l'origine
    text_stamp.x_indent = 100
    text_stamp.y_indent = 100
    # Faire pivoter le tampon
    text_stamp.rotate = ap.Rotation.ON90
    # Définir les propriétés du texte
    text_stamp.text_state.font = ap.text.FontRepository.find_font("Arial")
    text_stamp.text_state.font_size = 14.0
    text_stamp.text_state.font_style = ap.text.FontStyles.BOLD
    text_stamp.text_state.font_style = ap.text.FontStyles.ITALIC
    text_stamp.text_state.foreground_color = ap.Color.aqua
    # Ajouter le tampon à une page particulière
    document.pages[1].add_stamp(text_stamp)

    # Enregistrer le document de sortie
    document.save(output_pdf)

Définir l’alignement pour l’objet TextStamp

Ajouter des filigranes aux documents PDF est l’une des fonctionnalités fréquemment demandées et Aspose.PDF pour Python est entièrement capable d’ajouter des filigranes d’image ainsi que de texte. Nous avons une classe nommée TextStamp qui fournit la fonctionnalité d’ajouter des tampons de texte sur le fichier PDF. Récemment, il a été nécessaire de prendre en charge la fonctionnalité de spécifier l’alignement du texte lors de l’utilisation de l’objet TextStamp. Donc, afin de répondre à cette exigence, nous avons introduit la propriété text_alignment dans la classe TextStamp. En utilisant cette propriété, nous pouvons spécifier l’alignement du texte horizontal_alignment.

Les exemples de code suivants montrent comment charger un document PDF existant et y ajouter un TextStamp.


    import aspose.pdf as ap

    # Instancier l'objet Document avec le fichier d'entrée
    doc = ap.Document(input_pdf)
    # Instancier l'objet FormattedText avec une chaîne d'exemple
    text = ap.facades.FormattedText("This")
    # Ajouter une nouvelle ligne de texte à FormattedText
    text.add_new_line_text("is sample")
    text.add_new_line_text("Center Aligned")
    text.add_new_line_text("TextStamp")
    text.add_new_line_text("Object")
    # Créer un objet TextStamp en utilisant FormattedText
    stamp = ap.TextStamp(text)
    # Spécifier l'alignement horizontal du tampon de texte comme centré
    stamp.horizontal_alignment = ap.HorizontalAlignment.CENTER
    # Spécifier l'alignement vertical du tampon de texte comme centré
    stamp.vertical_alignment = ap.VerticalAlignment.CENTER
    # Spécifier l'alignement horizontal du texte de TextStamp comme centré
    stamp.text_alignment = ap.HorizontalAlignment.CENTER
    # Définir la marge supérieure pour l'objet tampon
    stamp.top_margin = 20
    # Ajouter l'objet tampon sur la première page du document
    doc.pages[1].add_stamp(stamp)

    # Enregistrer le document mis à jour
    doc.save(output_pdf)

Remplir le Texte de Contour comme un Tampon dans un Fichier PDF

Nous avons implémenté le paramétrage du mode de rendu pour les scénarios d’ajout et d’édition de texte. Pour rendre le texte en contour, veuillez créer un objet TextState pour transférer des propriétés avancées. Définissez la couleur pour le contour. Ensuite, définissez le mode de rendu du texte. L’étape suivante est de lier TextState et d’ajouter le tampon.

Le snippet de code suivant démontre l’ajout de texte de contour rempli :


    import aspose.pdf as ap

    # Créez un objet TextState pour transférer des propriétés avancées
    ts = ap.text.TextState()
    # Définissez la couleur pour le contour
    ts.stroking_color = ap.Color.gray
    # Définissez le mode de rendu du texte
    ts.rendering_mode = ap.text.TextRenderingMode.STROKE_TEXT
    # Chargez un document PDF d'entrée
    file_stamp = ap.facades.PdfFileStamp(ap.Document(input_pdf))

    stamp = ap.facades.Stamp()
    stamp.bind_logo(
        ap.facades.FormattedText(
            "PAID IN FULL",
            ap.facades.FontColor(100, 100, 100),
            ap.facades.FontStyle.TIMES_ROMAN,
            ap.facades.EncodingType.WINANSI,
            True,
            78.0,
        )
    )

    # Liez TextState
    stamp.bind_text_state(ts)
    # Définissez l'origine X,Y
    stamp.set_origin(100, 100)
    stamp.opacity = 5
    stamp.blending_space = ap.facades.BlendingColorSpace.DEVICE_RGB
    stamp.rotation = 45.0
    stamp.is_background = False
    # Ajoutez le tampon
    file_stamp.add_stamp(stamp)
    file_stamp.save(output_pdf)
    file_stamp.close()