REMARQUE 1: La réponse acceptée est encore généralement correcte, mais présente quelques lacunes. Il manque dans la mesure où de nombreux fichiers PDF ne sont pas directement modifiables sous forme de texte. Même lorsqu'ils le sont, une telle modification peut parfois endommager le PDF et le rendre illisible. Une solution, qui fonctionnera pour Unix et Microsoft Windows, est qpdf qui peut traduire des fichiers PDF en "QDF", un formulaire modifiable en texte qui est toujours un fichier PDF valide. Le qpdf
package est livré avec fix-qdf
qui recalcule les décalages après qu'un fichier QDF a été modifié pour corriger tout dommage.
REMARQUE 2: mal à l'aise avec les éditeurs de texte? Essayez d'abord d'utiliser un éditeur GUI tel que jpdftweak . Parfois, les éditeurs de PDF GUI fonctionnent, auquel cas, oui, 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, veuillez ne pas voter contre ma réponse pour être moins qu'élégant.
Comment modifier les numéros de page PDF à l'aide de Qpdf
Sommaire:
qpdf -qdf foo.pdf foo.qdf
modifier 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.
Convertissez le document au format QDF facilement modifiable. Exécutez qpdf à partir de la ligne de commande comme suit:
qpdf -qdf foo.pdf foo.qdf
Remarque: Si vous n'avez pas encore installé qpdf, les exécutables Microsoft Windows peuvent être téléchargés depuis https://github.com/qpdf/qpdf/releases Les systèmes Unix, tels que Ubuntu et Debian GNU / Linux peuvent l'installer en tapantapt 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 << 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 est start-page
<< style
>>. Notez que l'espace blanc n'a pas d'importance et que la première page du document l'est 0
. 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:
/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 d'étiquettes de page, ajoutez-les après /Type /Catalog
. Par exemple, on pourrait changer,
1 0 obj
<<
…
/Type /Catalog
>>
endobj
dans,
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
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,
- / Chiffres D (1, 2, 3 ...)
- / R majuscule romain (I, II, III ...)
- / r minuscule romain (i, ii, iii ...)
- / Un alphabet majuscule (A, B, C, ...., X, Y, Z, AA, AB, AC, ...)
- / un alphabet minuscule (a, b, c, ...., x, y, z, aa, ab, ac, ...)
Si l'on omet l' /S
opérateur, alors cette section de pages n'aura pas de numérotation. Par exemple:
0 << >> % No label for cover
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
:
31
<<
/S /D
/P (A-) % label appendix pages A-1, A-2, A-3
>>
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".
0 << /P (Cover) >> % No number, just "Cover"
Étape 3.
Exécutez fix-qdf
pour rendre vos modifications PDF valides et mettez la sortie dans bar.qdf.
fix-qdf foo.qdf > 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:
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.