J'ai un script Python 3 qui va superposer un fichier PDF transparent particulier sur un autre dans le but de créer un filigrane.
Copier et coller l'emplacement du fichier de chaque PDF dans le script chaque fois que je veux filigraner quelque chose est un peu un casse-tête cependant. L'ensemble n'est pas très flexible malgré sa grande puissance.
from pdfrw import PdfReader, PdfWriter, PageMerge
ipdf = PdfReader("/users/me/Desktop/meetingminutes.pdf")
wpdf = PdfReader("/users/me/Desktop/private.pdf")
wmark = PageMerge().add(wpdf.pages[0])[0]
for page in ipdf.pages:
PageMerge(page).add(wmark).render()
PdfWriter().write('/users/me/Desktop/meetingminutes.pdf', ipdf)
J'aimerais idéalement pouvoir faire un clic droit sur un fichier PDF donné dans le Finder et lui appliquer le filigrane script en tant que service.
J'ai déjà fait un peu de bricolage mais le plus que j'ai pu comprendre par moi-même est que j'ai besoin d'exécuter le script tel qu'il est (actuellement) je peux faire une application Automator avec le droplet "Run AppleScript" comme première étape.
on run {input, parameters}
do shell script "/usr/local/bin/python3 /users/me/Desktop/script.py
return input
end run
Ce serait merveilleux de pouvoir le mettre à l'échelle pour travailler sur n'importe quel PDF. L'image PDF "filigrane" réelle se trouverait à un emplacement fixe sur le disque dur et les fichiers sur lesquels le service est appliqué ne seraient pas renommés ou déplacés/copiés ailleurs (idéalement).
0 votes
Avez-vous essayé de lire Ce poste sur SO ? Alors intégrez votre script, et demandez une entrée au début du script d'Automator, ainsi que le fichier de sortie.
0 votes
J'ai essayé d'utiliser (par exemple) "inFile = sys.argv[1]" etc dans mon script mais j'obtiens toujours une erreur "IndexError : list index out of range".
0 votes
Le gestionnaire Applescript que vous avez collé ici est incomplet.