Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 28/03/2024, à 14:27

benjibasson83

Besoin d'aide pourtamponner et signer tous les PDF

Bonjour
Je cherche à mettre un tampon sur la première page de tous les fichiers PDF de mon dossier ( au nombre de 200)
J'ai donc créé un PDF blanc avec ma signature qui correspond au bon endroit et effectué un test unitaire concluant

qpdf ./a.pdf --underlay sign.pdf -- ./c.pdf 

Maintenant je cherche à faire un script pour repeter le processus pour tous les fichiers PDF

find ./ -name '*.pdf' -execdir bash -c 'qpdf $0 --underlay /home/guest/sign.pdf -- ${0/.pdf/-signe.pdf}' {} \;

malheureusement çs se solde par un echec car find ./ -name n'arrive pas à traiter les fichier dont le nom contient un espace.

find ./ -name '*.pdf' -execdir bash -c 'qpdf $0 --underlay /home/guest/sign.pdf -- ${0/.pdf/-signe.pdf}' {} \;

qpdf: unknown argument le

Usage: qpdf [options] {infile | --empty} [page_selection_options] outfile
For detailed help, run qpdf --help


qpdf: unknown argument wagon

Usage: qpdf [options] {infile | --empty} [page_selection_options] outfile
For detailed help, run qpdf --help


qpdf: unknown argument de

...

Si je fais

find ./ -name '*.pdf' -execdir bash -c 'qpdf $0 --underlay /home/guest/sign.pdf -- ${0/.pdf/-signe.pdf}' _ {} \;

J'ai

open _: No such file or directory
open _: No such file or directory
open _: No such file or directory
open _: No such file or directory
open _: No such file or directory
open _: No such file or directory
open _: No such file or directory
open _: No such file or directory
open _: No such file or directory
open _: No such file or directory
open _: No such file or directory
open _: No such file or directory
open _: No such file or directory
open _: No such file or directory

quand je fais

find ./ -name '*.pdf' -execdir bash -c 'echo $0' {} \;

ça envoie bien la liste des fichiers malgré l'espace

find ./ -name '*.pdf' -execdir bash -c 'echo $0' {} \;
./01042023 RAPPORT 1.pdf
./01042023 Rapport 2.pdf
./01042023 rapport 3.pdf

...

Quelle est la syntaxe pour que find renvoie le bon nom de fichier au lieu de renvoyer une ligne par mot?


Salutations

Dernière modification par benjibasson83 (Le 28/03/2024, à 14:59)

Hors ligne

#2 Le 28/03/2024, à 14:49

kamaris

Re : Besoin d'aide pourtamponner et signer tous les PDF

Il te manque probablement juste les guillemets double en shell :

find ./ -name '*.pdf' -execdir bash -c 'qpdf "$0" --underlay /home/guest/sign.pdf -- "${0/.pdf/-signe.pdf}"' {} \;

Hors ligne