#1 Le 13/01/2015, à 19:05
- BIMI
[Résolu] pdftk numérotation des pages
Bonjour,
J'ai un livre (± 250 pages) en .pdf que je veux imprimer afin de le lire, le travailler, l'annoter, le colorer, y accoler des images, etc. Ce livre.pdf n'a aucune numérotation des pages. Est-il possible, avant de l'imprimer de numéroter les pages avec PDFTK?
Merci
Dernière modification par BIMI (Le 14/01/2015, à 00:17)
De temps en temps / Les nuages nous reposent / De tant regarder la lune.
Haïku, Matsuo Bashõ
Hors ligne
#2 Le 14/01/2015, à 00:16
- BIMI
Re : [Résolu] pdftk numérotation des pages
J'ai trouvé la réponse sur un site anglais : Debian User Forums, [ Postby EMD ]
HowTo Add Page Numbers to a PDF File
Grosso modo :
Vous aurez besoin d'avoir pdftk et LibreOffice.
1. vous avez votre livre.pdf . Nommez-le, par exemple : « newbook.pdf »
2. vous créez un deuxième pdf avec LibreOffice qui ne contiendra que la numérotation de page en bas de page ( même nombre de page que le livre.pdf ). Nommez-le : « numbers.pdf »
3. créez un script. Nommez-le « addnums.sh »
a. changez les droits du script : $ chmod a+x addnums.sh
4. placer les trois documents dans un même dossier : newbook.pdf, numbers.pdf et addnums.sh
5. dans le terminal,
a. placez vous dans ce dossier avec la commande cd
b. lancez le script : $ ./addnums.sh
Voici le script utilisé sur le forum anglais de Debian, que vous pouvez modifier selon vos besoins :
#!/bin/sh
# we'll hide the work in a temporary directory
mkdir tmp_num
cp numbers.pdf tmp_num/.
cp newbook.pdf tmp_num/.
cd tmp_num/
# burst newbook into its component pages and extract total pages
pdftk newbook.pdf burst output book_%04d.pdf
cat doc_data.txt | grep NumberOfPages > nu_pages.txt
nu_pages=`mawk '{print $2}' nu_pages.txt`
# burst the page number file into its component pages
pdftk numbers.pdf burst output nums_%04d.pdf
# no page number on the first page
cp book_0001.pdf fin_0001.pdf
# start converting pages from page 2
x=2 # initialize x
# place the page numbers on each page of newbook
while [ "$x" -le "$nu_pages" ]; do
if [ "$x" -lt 10 ]; then
pdftk book_000"$x".pdf background nums_000"$x".pdf output fin_000"$x".pdf
echo "Finished page $x of $nu_pages."
x=$(($x+1))
elif [ "$x" -lt 100 ]; then
pdftk book_00"$x".pdf background nums_00"$x".pdf output fin_00"$x".pdf
echo "Finished page $x of $nu_pages."
x=$(($x+1))
elif [ "$x" -lt 1000 ]; then
pdftk book_0"$x".pdf background nums_0"$x".pdf output fin_0"$x".pdf
echo "Finished page $x of $nu_pages."
x=$(($x+1))
fi
done
# create the new PDF file and move it to the original directory
pdftk fin_*.pdf cat output finbook.pdf
mv finbook.pdf ../.
# clean up the mess and exit
# cd ..
# rm tmp_num/*
# rmdir tmp_num
echo " "
echo "All done! Have fun!"
echo " "
exit
Et voilà votre livre.pdf aura des pages numérotées.
De temps en temps / Les nuages nous reposent / De tant regarder la lune.
Haïku, Matsuo Bashõ
Hors ligne
#3 Le 13/01/2023, à 13:45
- laconis71
Re : [Résolu] pdftk numérotation des pages
La commande `multistamp` de pdftk permet de faire la même chose en une seule commande. En reprenant les fichiers `numbers.pdf` et `newbook.pdf` précédents, il suffit de lancer :
pdftk newbook.pdf multistamp numbers.pdf output newbook_numbered.pdf
Cette solution a le mérite de ne pas alourdir le PDF final dont la taille sera l'addition des deux fichiers sources, là où la commande `background` alourdit énormément le fichier final.
Hors ligne