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()