Vous pouvez utiliser pdftk
pour cela. Plus d'informations: Comment exporter et importer des signets PDF .
Exportez les signets PDF sur la ligne de commande comme ceci:
pdftk C:\Users\Sid\Desktop\doc.pdf dump_data output C:\Users\Sid\Desktop\doc_data.txt
Importez des signets PDF à partir d'un fichier de données comme celui-ci:
pdftk C:\Users\Sid\Desktop\doc.pdf update_info C:\Users\Sid\Desktop\doc_data.txt output C:\Users\Sid\Desktop\updated.pdf
pdftk
le format de signet est un peu fastidieux à écrire. Au lieu de cela , j'ai créé mon propre script en utilisant bash
, sed
, pdftk
et python3
. Découvrez-le à ce repo: https://github.com/SiddharthPant/booky
Alors maintenant, je peux créer un fichier texte ( bkmrks.txt
) comme celui-ci qui ne prend que 5 minutes pour écrire, même pour un pdf de 1000 pages.
{
Title1, 1
Title2, 2
{
Subtitle1, 3
Subtitle2, 4
{
SubSubtitle1, 5
...
}
}
}
puis utiliser mon script
./booky.sh pdf_file.pdf bkmrks.txt
cela crée automatiquement un pdf ( pdf_file_new.pdf
) qui contient mes signets.
Cela va fonctionner dans les systèmes * nix si vous êtes à la place sur une machine Windows. Ensuite, installez d'abord python3
et pdftk
utilisez simplement le booky.py
fichier dans le référentiel pour convertir bkmrks.txt
au pdftk
format compatible
python3 booky.py < bkmrks.txt > output.txt
puis utilisez la commande d'exportation pour générer un fichier de données sauvegardé. Supprimez les signets précédents de ce fichier et insérez le contenu à la output.txt
place à l'aide d'un simple copier-coller. Et puis réimportez ces données.
La spécification pour les fichiers PDF est disponible sous forme de PDF téléchargeable gratuitement depuis Adobe - ou du moins c'était la dernière fois que j'ai vérifié. Cependant, la plupart des fichiers PDF contiennent la plupart des données compressibles compressées. Il était probablement une version de texte en clair de PDF il était une fois, et si c'est le cas, il sera toujours valide maintenant, mais obtenir un fichier sous cette forme peut être un problème.
Bien que je ne l'ai pas fait, une possibilité très probable (si vous êtes prêt à payer) est d'acheter Acrobat Pro et d'utiliser les capacités de script Javascript intégrées à cette application. Pour commencer ...
http://acrobatusers.com/tutorials/2008/10/auto_bookmark_creation
Ce didacticiel montre comment créer automatiquement des signets à l'aide de Javascript dans Acrobat 7.0 Pro (la version incluse dans Creative Suite CS2). Bien que cela devienne un peu vieux, la même technique devrait fonctionner correctement pour les versions plus récentes.
Les applications Adobe incluent une bibliothèque pour lire / écrire des fichiers texte en utilisant Javascript (quelque chose que Javascript n'a pas en standard), il est donc possible d'écrire vos propres scripts d'importation / exportation, bien que non triviaux pour rendre ces scripts robustes.
la source
Pour exporter des signets, je poursuis une approche différente qui nécessite l'utilisation de Microsoft OneNote:
J'ouvre le lecteur PDF (j'utilise la version gratuite de Foxit) avec la structure de signet visible, puis, dans OneNote, je demande de prendre un instantané et de sélectionner la structure de signet Foxit.
De retour à OneNote, je sélectionne l' option "Copier le texte de l'image" (dans le menu qui apparaît après un clic droit sur l'image de l'instantané), et je la colle sur le côté, pour corriger le retrait (généralement avec des puces).
la source
HandyOutline. 1 glisser, 1 clic, c'est fait. https://sourceforge.net/projects/handyoutlinerfo/ . Gratuit. Retire les sous-signets. Ne nécessite aucun lecteur / éditeur PDF. Modifiez également, exportez tous les détails au format texte (copiez dans Word, écrivez une macro pour le ranger dans un document Word entièrement fonctionnel) ou XML, repaginez, importez au format PDF. Dev mérite des dons.
PDF-Xchange Editor (remplacé PDFViewer), signets dupliqués / manqués au hasard exportés en texte
JPDF a exigé Java, exporté les ordures de formatage, n'a pas pu le nettoyer pour obtenir uniquement les noms
PDFtk m'a donné mal à la tête en regardant les instructions
:-)
la source
J'ai trouvé une autre solution plutôt "stupide" pour copier tous les signets dans un PDF en tant que texte pour une utilisation ailleurs. Dans Acrobat Pro (pour Mac OS), il n’existe aucun moyen de sélectionner tous les signets et de les copier / coller dans un traitement de texte. Vous pouvez cependant exporter tout le PDF en tant que fichier HTML avec l'option "une seule page HTML + ajouter un cadre de navigation basé sur des signets". Ouvrez ensuite le code HTML dans un navigateur, sélectionnez tout le texte dans le cadre de navigation et copiez / collez-le dans un traitement de texte ...
la source
Pour lire tous les signets d'un PDF vers un fichier texte, vous pouvez utiliser cette commande avec
pdftk
:J'ai ensuite utilisé regex sur Notepad ++ pour supprimer les parties supplémentaires. Ce que j'ai remplacé par une chaîne vide (dans l'ordre), puis je me suis retrouvé avec une liste de signets (n'oubliez pas de remplacer en utilisant regex dans votre éditeur de texte):
Si vous souhaitez supprimer les numéros, remplacez cette expression:
la source