Un premier test:
Il faut d'abord créer une petite application automator;
Tu ouvres automator, tu choisis application puis tu y met les actions comme sur la copie d'écran.
Dans la 1ere action"obtenir les éléments du finder indiquée", tu crées sur le bureau un dossier nommé "Temp" et tu le glisses sur la fenêtre.
Dans le 3ieme action, dans "enregistrer la sortie dans :" tu sélectionnes le dossier Temp qui est sur le bureau et dans ""Nom personnalisé" tu met "Letexte"
Tu enregistres en tant qu'application sur le bureau, en le nommant "PDFenTEXTE"
Puis tu supprimes le dossier "Temp" qui est sur le bureau.
Tu ouvres l'éditeur de script et dans la fenêtre tu fais un copié collé de :
Bloc de code:
tell application "Finder"
set chemin to choose folder with prompt "Sélectionnez le dossier contenant les fichiers à renommer"
set tous to every file of entire contents of chemin
set nb to count tous
repeat with i from 1 to nb
make new folder at desktop with properties {name:"Temp"}
set ledossiertemp to ((path to desktop folder as text) & "Temp:") as alias
set lefichiertexte to ((path to desktop folder as text) & "Temp:Letexte.txt")
set lepdf to item i of tous
set sauv to AppleScript's text item delimiters --sauvegarder la variable delimiteur
set AppleScript's text item delimiters to {"."} --récupère la partie avant le dernier "."
set elements to text items of (name of lepdf as string) --nom --ou of (name of a as string)
set nomcourt to (items 1 thru -2 of elements) as string
set AppleScript's text item delimiters to sauv --restaurer la variable delimiteur
duplicate lepdf to ledossiertemp
tell application "PDFenTEXTE"
launch
activate
end tell
delay 1
set sauv to AppleScript's text item delimiters
set lefich to lefichiertexte as alias
set letexte to read file lefich
set AppleScript's text item delimiters to "Contrat n° : "
set suite to text item 2 of letexte
set lessept to text 1 thru 7 of suite as text
set AppleScript's text item delimiters to sauv
set name of lepdf to nomcourt & "-" & lessept & ".pdf"
do shell script "rm -r " & POSIX path of ledossiertemp
end repeat
end tell
tell application "Finder"
activate
(display dialog ("waouou ... Ca y est c'est fait !") buttons {"Salut !"})
end tell
Il suffit ensuite de lancer ce script
Lors de la première exécution tu auras des demandes d'autorisations pour les différents accès, tu donnes ces autorisations. Tu auras également une demande pour localiser l'application "PDFenTEXTE".
En fonction de la grosseur des PDF l'extraction du texte sera plus ou moins longue, afin d'attendre que l'extraction soit finie avant de lancer la recherche dans le texte j'ai mis un delay 1 (délai de 1 secondes) qui te faudra peut-être augmenter !
Bon tests ! j'attends tes observations
Fais quand même le test sur une copie du dossier contenant une dizaine de PDF pour voir si c'est bon !