C'est la méthode que j'ai utilisée pour l'ensemble de ma bibliothèque Zotero (~3GB de PDF). Notez que les seules annotations que j'utilise sont le surlignage (une seule couleur) et les commentaires. La réussite ou non de la conversion d'annotations plus complexes dépend des détails du script, que je ne connais pas bien.
Ce qui a fonctionné
L'original skimembed script convertit un PDF unique avec des annotations superficielles (qui se présentent sous la forme d'"attributions étendues") en un PDF unique avec des annotations intégrées. Il s'agit d'un script shell que vous exécutez à partir de la ligne de commande (terminal) en utilisant la notation suivante
sh skimembed pdf_with_skim_annotations.pdf
ou plus généralement
sh /path/to/scripts/folder/skimembed /path/to/pdf/folder/pdf_with_skim_annotations.pdf
Ici, sh
est le programme shell que vous utilisez pour interpréter le script. skimembed
. Ce script n'est en fait qu'un moyen automatisé d'utiliser la fonction File > Export...PDF with embedded notes
dans le menu Écrémage. Cependant, cela ne crée pas une deuxième copie du pdf ; la nouvelle version le remplace et porte le même nom.
J'ai ensuite cherché sur Google un shell script qui vous permet d'appliquer skimembed de manière récursive à tous les fichiers pdf d'un dossier (y compris les sous-dossiers) :
#!/bin/bash
find $1 -type f -name "*.pdf" | while read f ; do
sh /path/to/scripts/filder/skimembed "$f"
done
Ici, $1
indique le chemin vers un dossier, le premier (et le seul) argument que ce script s'attend à recevoir. L'argument find
La commande renvoie toutes les données normales ( -type f
) dans ce dossier avec la terminaison pdf ( name "*.pdf"
). Les résultats sont acheminés ( |
) à un while
boucle indexée par f
.
J'ai enregistré le texte ci-dessus dans un fichier appelé recursiveskiembed.sh et j'ai ensuite exécuté la commande suivante
sh recursiveskiembed.sh /path/to/pdfs/folder
Dans mon cas, le dossier choisi était /Users/username/Library/Application Support/Zotero/Profiles/xxx123.default/zotero/storage
. Cette fonction prend tous les PDF contenant des annotations Skim dans le dossier et les remplace par des annotations PDF normales et intégrées.
Ce qui n'a pas fonctionné
J'ai essayé le Skim scripts soumis par les utilisateurs et en particulier la skimalot script (qui a succédé à skimembed) et le programme FilingEagle script et d'autres . Mais je n'ai pu faire fonctionner aucun d'entre eux. (Il est à noter que les fichiers hébergés sur sugarsync.com sont désormais des liens morts). De même, les moitié douzaine AppleScript scripts toujours semblent échouer avec des erreurs totalement impénétrables.
Les clobbergaurd script est censé vérifier dans un grand répertoire les noms de fichiers qui ne diffèrent que par leur terminaison afin d'éviter d'écraser des choses en utilisant skimalot, mais je n'ai pas réussi à le faire fonctionner. (Le lien sugarsync est mort, mais une recherche sur Google a permis de trouver cette copie Dropbox .) J'ai donc sauvegardé ma bibliothèque zotero et croisé les doigts.