Tengo en marcha un script de Python 3 que superpondrá un determinado archivo PDF transparente sobre otro con el fin de ponerle una marca de agua.
Sin embargo, copiar y pegar la ubicación del archivo de cada PDF en el script cada vez que quiero ponerle una marca de agua a algo es un pequeño dolor de cabeza. El conjunto no es muy flexible a pesar de su gran potencia.
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)
Lo ideal sería poder hacer clic con el botón derecho del ratón en un archivo PDF determinado en Finder y aplicarle la marca de agua script como servicio.
Ya he trasteado un poco pero lo máximo que he podido averiguar por mi cuenta es que necesito ejecutar el script tal cual (ahora mismo) puedo hacer una App de Automator con el droplet "Ejecutar AppleScript" como primer paso.
on run {input, parameters}
do shell script "/usr/local/bin/python3 /users/me/Desktop/script.py
return input
end run
Sería maravilloso poder ampliarlo para que funcione en cualquier PDF. La imagen real de la "marca de agua" en PDF estaría en una ubicación fija en el disco duro y los archivos en los que se aplica el servicio no serían renombrados o movidos/copiados en otro lugar (idealmente).
0 votos
¿Ha intentado leer Este puesto en SO? A continuación, integrar su script, y pedir la entrada al principio de la Automator script, así como lo que el archivo de salida debe ser.
0 votos
He intentado usar (por ejemplo) "inFile = sys.argv[1]" etc en mi script pero siempre obtengo un error "IndexError: list index out of range".
0 votos
El manejador Applescript que has pegado aquí está incompleto.