Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 13/01/2015, à 20: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, à 01: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, à 01: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, à 14: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