Este es el método que he utilizado en toda mi biblioteca Zotero (~3GB de PDFs). Tenga en cuenta que las únicas anotaciones que utilizo son el resaltado (un solo color) y los comentarios. Que esto convierta con éxito anotaciones más complicadas depende del detalle del skimembed script, del que no sé mucho.
Lo que ha funcionado
El original skimembed script convierte un único PDF con anotaciones en forma de "atributo extendido" en un único PDF con anotaciones incrustadas. Es un shell script que se ejecuta desde la línea de comandos (terminal) utilizando esta notación
sh skimembed pdf_with_skim_annotations.pdf
o más generalmente
sh /path/to/scripts/folder/skimembed /path/to/pdf/folder/pdf_with_skim_annotations.pdf
Aquí, sh
es el programa de shell que se utiliza para interpretar el script skimembed
. Este script básicamente es una forma automatizada de utilizar File > Export...PDF with embedded notes
en el menú de descremado. Sin embargo, no hace una segunda copia del pdf; la nueva versión la sustituye y tiene el mismo nombre.
Entonces busqué en Google un shell script que permite aplicar skimembed recursivamente a todos los archivos pdf de una carpeta (incluidas las subcarpetas):
#!/bin/bash
find $1 -type f -name "*.pdf" | while read f ; do
sh /path/to/scripts/filder/skimembed "$f"
done
Aquí, $1
denota la ruta a una carpeta, el primer (y único) argumento que este script espera recibir. El find
devuelve todo lo normal ( -type f
) en esa carpeta con la terminación pdf ( name "*.pdf"
). Los resultados se canalizan ( |
) a un while
bucle indexado por f
.
Guardé el texto anterior en un archivo llamado recursiveskiembed.sh y luego ejecuté
sh recursiveskiembed.sh /path/to/pdfs/folder
En mi caso, la carpeta que elegí fue /Users/username/Library/Application Support/Zotero/Profiles/xxx123.default/zotero/storage
. Esto toma cada uno de los PDF con anotaciones Skim en la carpeta y los reemplaza con anotaciones PDF normales, incrustadas.
Lo que no funcionó
Probé el Skim scripts enviados por el usuario y en particular el skimalot script (que es un sucesor de skimembed) y el FilingEagle script y otros . Pero no pude conseguir que ninguno de ellos funcionara. (Tenga en cuenta que el archivos alojados en sugarsync.com son enlaces muertos ahora). Igualmente, el medio docena AppleScript scripts siempre parecen fallar con errores completamente inescrutables.
El clobbergaurd script se supone que comprueba un directorio grande para los nombres de archivo que difieren sólo en el final para evitar que se sobrescriba cosas usando skimalot, pero no pude conseguir que funcione. (El enlace de sugarsync está muerto, pero una búsqueda en Google me permitió encontrar esta copia de Dropbox .) Así que hice una copia de seguridad de mi biblioteca zotero y crucé los dedos.