NOTE 1 : La réponse acceptée est encore en grande partie correcte, mais présente quelques lacunes. Elle présente des lacunes dans la mesure où de nombreux fichiers PDF ne sont pas directement modifiables en tant que texte. Même lorsqu'ils le sont, ces modifications peuvent parfois endommager le PDF et le rendre illisible. Une solution, qui fonctionne à la fois sous Unix et sous Microsoft Windows, est la suivante qpdf qui permet de traduire les fichiers PDF en "QDF", une forme de texte éditable qui reste un fichier PDF valide. Le qpdf
Le paquet comprend fix-qdf
qui recalcule les décalages après qu'un fichier QDF a été édité pour corriger les dommages éventuels.
NOTE 2 : Vous n'êtes pas à l'aise avec les éditeurs de texte ? Essayez d'utiliser un éditeur graphique tel que jpdftweak premier. Parfois, les éditeurs pdf à interface graphique fonctionnent, auquel cas, vous avez terminé. Cependant, lorsqu'ils échouent, comme cela a souvent été le cas pour moi, vous pouvez essayer cette alternative plus robuste. Quoi qu'il en soit, ne votez pas contre ma réponse parce qu'elle n'est pas très élégante.
COMMENT ÉDITER LES NUMÉROS DE PAGE DU PDF à l'aide de Qpdf
Résumé :
-
qpdf -qdf foo.pdf foo.qdf
-
éditer foo.qdf
0 << >> % No label on first pages
6 << /S /D >> % Start numbering from 7th page.
-
fix-qdf foo.qdf >bar.qdf
-
test bar.qdf
-
qpdf bar.qdf bar.pdf
Étapes détaillées
Étape 1.
Convertir le document au format QDF, facilement éditable. Exécutez qpdf à partir de la ligne de commande comme suit :
qpdf -qdf foo.pdf foo.qdf
Remarque : Si qpdf n'est pas déjà installé, les exécutables pour Microsoft Windows peuvent être téléchargés à l'adresse suivante https://github.com/qpdf/qpdf/releases Les systèmes Unix, tels qu'Ubuntu et Debian GNU/Linux, peuvent l'installer en tapant apt install qpdf
.
É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 <<angle brackets>> qu'il contient. À proximité, vous trouverez l'actuel /PageLabels
( le cas échéant ).
Nous ajouterons chaque section qui doit être numérotée différemment à la rubrique /PageLabels
. Le format est le suivant start-page
<< style
>>. Notez que les espaces blancs n'ont pas d'importance et que la première page du document est 0
. Sauf indication contraire, les pages d'une nouvelle section sont toujours numérotées à partir de 1.
Exemples
Voici un exemple complet de ce à quoi peuvent ressembler les PageLabels, avec des commentaires ajoutés :
/Type /Catalog
/PageLabels <<
/Nums [
0 % From the first page of the document,
<<
/S /r % ...use the lowercase roman numeral style.
>>
6 % From seventh page onward,
<<
/S /D % ...use ordinary digits (arabic numerals)
>>
]
>>
Si le fichier n'a pas de PageLabels, ajoutez-les après /Type /Catalog
. Par exemple, on peut changer,
1 0 obj
<<
…
/Type /Catalog
>>
endobj
en,
1 0 obj
<<
…
/Type /Catalog
/PageLabels
<< /Nums [
0 << >> % No label for cover
1 << /S /r >> % i, ii for index
3 << /S /D /St 15 >> % 15, 16, 17, ... for article
31 << /S /D /P (A-) >> % A-1, A-2, A-3... for appendix
]
>>
>>
endobj
OPTIONNEL : COMMENCER À PARTIR D'UN AUTRE NUMÉRO AVEC /St
Chaque section reprend la numérotation à 1, sauf indication contraire de votre part à l'aide de /St
. Remarquez que dans l'exemple ci-dessus, la quatrième page commence à 15.
OPTIONNEL : UTILISATION D'UN STYLE DIFFÉRENT AVEC /S
のことです。 /S
prend un argument qui vous permet de choisir le style de numérotation,
- /Chiffres D (1, 2, 3...)
- /R majuscule romaine (I, II, III...)
- /r minuscule romain (i, ii, iii...)
- /A majuscule alphabétique (A, B, C, ...., X, Y, Z, AA, AB, AC,...)
- /a minuscule alphabétique (a, b, c, ...., x, y, z, aa, ab, ac,...)
Si l'on omet le /S
cette section de pages n'aura pas de numérotation. Par exemple :
0 << >> % No label for cover
OPTIONNEL : AJOUT D'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
:
31
<<
/S /D
/P (A-) % label appendix pages A-1, A-2, A-3
>>
Spécifier un préfixe sans style ( /S
), vous donnera des pages qui ne contiennent que le mot sans aucun numéro. Cela peut être utile, par exemple, si vous souhaitez qu'une page de couverture porte simplement la mention "Couverture".
0 << /P (Cover) >> % No number, just "Cover"
Étape 3.
Exécuter fix-qdf
pour rendre vos modifications valides en PDF et placer le résultat dans bar.qdf.
fix-qdf foo.qdf > bar.qdf
Étape 4.
Ouvrez le fichier bar.qdf dans votre programme de visualisation PDF et vérifiez qu'il est correctement numéroté.
Étape 5.
Reconvertissez le fichier QDF en un PDF normal, comme suit :
qpdf bar.qdf bar.pdf
Ta da. Vous avez terminé. Vous avez maintenant un document avec des numéros de page correctement étiquetés dans bar.pdf.