Je manipule mes PDF sur mon ordi : fusionner ou extraire des pages, compresser, pivoter des pages, surligner ou annoter, apposer une signature manuscrite, remplir un formulaire, caviarder, ajouter un calque texte sur un PDF au format image, ou retirer un filigrane mal conçu.
Pour ajouter un filigrane avant de communiquer un document, je convertis le PDF en image avec convert (ImageMagick) puis j'ajoute un filigrane avec GIMP. C'est relou.
J'ai testé pdftk, gs, etc., mais ça ne convient pas. Soit le filigrane est au format texte (donc facilement effaçable), soit il faut préparer au préalable un fichier PDF contenant le filigrane.
Ces derniers mois, plusieurs alternatives ont circulé dans les rivières de shaarlis (qui agrègent plusieurs shaarlis, https://ecirtam.net/shaarlirss/, https://river.2038.net/). Voyons si cela correspond à mon besoin :
Bref, rien me convient.
J'ai fini par trouver comment apposer un filigrane avec ImageMagick.
Pour une raison qui m'échappe, afin de préserver la qualité du document, il faut d'abord convertir le PDF au format image : convert -quality 100 -density 300 fichier.pdf fichier.png.
convert fichier.png \( \
-size 100x \
-background none \
-fill "rgba(128,128,128,0.45)" \
-gravity center label:"Texte du fili" \
-trim \
-rotate -10 \
-bordercolor none \
-border 10 \
-write mpr:wm \
-delete -1 \
-clone -1 \
-fill mpr:wm \
-draw 'color 0,0 reset' \) \
-compose over \
-composite fichier_filigrané.png
La taille des caractères du filigrane se change dans « size », sa couleur dans « fill » (« 128,128,128 » = gris), l'opacité idem (dernier chiffre, « 0,45 » dans cet exemple), son orientation dans « rotate », et l'espacement entre les répétitions du filigrane dans « border ».
Variante (source : Aeris) :
convert fichier.png -write mpr:base \( \
-background none \
-fill "#ff000080" \
-gravity center label:"texte du fili" \
-trim \
-rotate -10 \
-write mpr:tile \
+delete \
\) \( \
-clone 0--1 \
-tile mpr:tile \
-draw 'color 0,0 reset' \
-write mpr:wm \
-delete 0--1 \
\) \
-delete 0--1 \
mpr:wm null: mpr:base \
-compose overlay \
-layers composite fichier_fili.png
Je constate également que Signature PDF et Stirling-PDF ne répondent pas à mon besoin d'occulter un PDF sans le convertir au format image (exemple, page de garde). Signature PDF ne propose pas cette fonctionnalité. Stirling-PDF, soit laisse le texte sous le calque noir, soit convertit l'ensemble du fichier au format image, en fonction du paramétrage (4e bouton de la barre d'outils en partant de la droite).