J'ai un document pdf que j'ai créé par des moyens non-Acrobat (impression en pdf, puis fusion d'un tas de pdfs), mais je voudrais changer manuellement les numéros de page (c'est-à-dire que les premières pages sont simplement des pages de titre, la page qui est étiqueté "page 1" est vraiment la 7ème feuille du pdf). Quelle est la manière la plus simple (et idéalement gratuite) de procéder?
Pour être clair, je n'essaie pas de changer les numéros sur les pages elles-mêmes, mais les numéros de page dans les "métadonnées" que le pdf stocke (les pages elles-mêmes sont déjà numérotées correctement; je veux juste "aller à la page 1" pour aller à la page intitulée 1, qui pourrait être la feuille 7).
Pour ce que ça vaut, je suis sur Windows, même si j'ai également accès aux Mac.
Réponses:
Ce que vous voulez s'appelle en effet des étiquettes de page et peut facilement être ajouté directement dans le code source du PDF. Renommez l'extension de fichier de
pdf
àtxt
et ouvrez le fichier dans un éditeur de texte (cela peut être lent, selon la taille du fichier, soyez patient). Les informations sur les étiquettes de page sont stockées dans un nœud appelé catalogue de documents qui ressemble à ceci:Il peut contenir des éléments plus confus, mais c'est la structure de base. Il n'y a qu'un seul catalogue, donc dans un gros fichier, vous pouvez rechercher le nœud qui contient
/Catalog
. Vous pouvez maintenant apporter les modifications souhaitées en insérant l'/PageLabels
entrée:Il y a 3 lignes commençant par des nombres, appelées index de page . La page 1 a l'index
0
, la page 2 l'index1
et ainsi de suite. Ils décrivent toujours les plages, donc la ligne avec1 <<...>>
s'applique à toutes les pages de l'index 1 à 5 et la ligne avec6 <<...>>
s'applique à toutes les pages de 6 jusqu'à la dernière page. Une étiquette pour0 <<...>>
doit toujours être définie.Vous pouvez trouver plus d'informations sur les étiquettes de page et le code source PDF dans la norme PDF ou dans un wiki sur les normes PDF.
la source
/St 8
ou/St 2
, vous définissez un point de départ pour l'étiquette affichée; mais choisissez n'importe quel nombre au lieu de 8 (ou 2), qui doit être> = 1. Par exemple,1 << /S /r /St 12 >>
numérotera les pages de (en fait) 2-6 comme (affichées) xii-xvii - parce que '12' correspond à 'xii'.Si je vous comprends bien, voici comment cela devrait fonctionner:
Cependant, je semble me souvenir que cela n'a pas fonctionné de manière fiable ou complète la dernière fois que j'ai essayé cela (il y a environ 2 ans).
MISE À JOUR: Ma mémoire ne me manquait pas. J'ai à nouveau essayé et déposé un rapport de bogue pour Ghostscript ( bogue 691889 ) à ce sujet. Suivez le lien vers le rapport de bug pour voir les détails.
la source
Comment modifier les numéros de page PDF à l'aide de Qpdf
Sommaire:
qpdf -qdf foo.pdf foo.qdf
modifier foo.qdf
fix-qdf foo.qdf >bar.qdf
qpdf bar.qdf bar.pdf
Étapes détaillées
Étape 1.
Convertissez le document au format QDF facilement modifiable. Exécutez qpdf à partir de la ligne de commande comme suit:
Étape 2.
Modifiez le document QDF à l'aide d'un éditeur de texte tel que notepad ++, emacs ou gedit. Recherchez le mot
/Catalog
et notez les << crochets angulaires >> à l'intérieur. À proximité, vous trouverez le courant/PageLabels
(le cas échéant ).Nous ajouterons chaque section qui devrait être numérotée différemment au
/PageLabels
. Le format eststart-page
<<style
>>. Notez que l'espace blanc n'a pas d'importance et que la première page du document l'est0
. Sauf indication contraire, une nouvelle section commence toujours par numéroter les pages à partir de 1.Exemples
Voici un exemple complet de l'apparence de PageLabels, avec des commentaires ajoutés:
Si le fichier n'a pas d'étiquettes de page, ajoutez-les après
/Type /Catalog
. Par exemple, on pourrait changer,dans,
FACULTATIF: À PARTIR D'UN DIFFÉRENT NUMÉRO AVEC
/St
Chaque section redémarre la numérotation à 1, sauf indication contraire de votre part
/St
. Remarquez comment dans l'exemple ci-dessus, la quatrième page commence à 15.FACULTATIF: UTILISER UN STYLE DIFFÉRENT AVEC
/S
L'
/S
opérateur prend un argument qui vous permet de choisir le style de numérotation,Si l'on omet l'
/S
opérateur, alors cette section de pages n'aura pas de numérotation. Par exemple:FACULTATIF: AJOUTER UN PRÉFIXE À CHAQUE PAGE AVEC
/P
Vous pouvez afficher n'importe quelle chaîne de texte avant le numéro de page en spécifiant un mot entre parenthèses après
/P
:La spécification d'un préfixe sans style (
/S
) vous donnera des pages qui n'ont que le mot sans nombre. Cela peut être utile, par exemple, si vous souhaitez qu'une page de couverture ait simplement le libellé "Couverture".Étape 3.
Exécutez
fix-qdf
pour rendre vos modifications PDF valides et mettez la sortie dans bar.qdf.Étape 4.
Ouvrez bar.qdf dans votre programme de visualisation PDF et vérifiez qu'il est correctement numéroté.
Étape 5.
Convertissez le fichier QDF en un PDF normal, comme ceci:
Ta da. Vous avez terminé. Vous avez maintenant un document avec des numéros de page correctement étiquetés dans bar.pdf.
la source
Il y a un petit script python, qui peut faire le travail: https://github.com/lovasoa/pagelabels-py
Dans votre cas, appelez quelque chose comme:
la source
jPdf Tweak est un utilitaire graphique Open Source qui vous permet de modifier les étiquettes de page dans des fichiers PDF. La page de documentation fournit des instructions pas à pas.
la source
Pour supprimer les anciens, la méthode multiplateforme la plus simple consiste probablement à rogner les anciens. Vous pouvez le faire, par exemple, avec BRISS.
Ajouter les nouveaux à l'aide d'outils gratuits est plus délicat. Personnellement, je le ferais probablement avec pdflatex, comme dans cette réponse StackExchange , bien que cela puisse être une solution plutôt impliquée, sauf si vous avez d'autres utilisations pour pdflatex.
Je pense que cela peut être fait, mais avec jPdfTweak à la place.
la source
La méthode donnée par Dane H. fonctionne avec Acrobat Reader (ou, pour être précis, la version actuelle d' Adobe Reader). Un point mineur à noter: le champ en haut n'acceptera que 8 caractères, vous ne pouvez donc pas entrer quelque chose comme «index de sujet» si une telle étiquette a été utilisée. Mais vous pouvez utiliser à la place l'élément de menu Affichage> Navigation de page> Aller à ..., ou l'équivalent clé.
Une autre astuce: la spécification pdf attribue toujours les numéros de page consécutivement, donc dans le cas d'un document produit en scannant des paires de pages, les deux ensembles de numéros sont déphasés (sauf si vous numérotez laborieusement chaque page individuellement). Mais vous pouvez sans effort configurer votre document afin que la convention «aller à la page n vous amène aux pages 2n et 2n + 1» s'applique.
la source
La réponse des Danois est la meilleure, les formats ont un peu changé maintenant, cela pourrait être utile:
la source
J'ai trouvé que l'édition directe du fichier (non compressé par pdftk) ne fonctionnait pas s'il y avait déjà '/ title' dans la région '/ outlines'. La technique de montage direct décrite dans un article ci-dessus est démontrée sur Youtube: https://www.youtube.com/watch?v=zoH1Z_hSpak
Mais la fonction «mise à jour» de pdftk peut être plus intuitive (et plus fiable lorsque «/ titres» existe déjà dans la région «/ contours» du fichier PDF) en modifiant le fichier «doc_data.txt» utilisé ici: https: / /www.pdflabs.com/blog/export-and-import-pdf-bookmarks/
la source
BeCyPDFMetaEdit http://www.becyhome.de/becypdfmetaedit/description_eng.htm
Vous pouvez ajouter / supprimer / modifier le schéma de numéros de page interne dans l'onglet "pages" de cet outil gratuit.
Et soyez prudent, la visionneuse PDF xchange n'affiche pas le schéma des numéros de page, et foxitreader a un bon résultat. Je n'ai pas testé le lecteur Acrobat.
la source