PDF

De Octet.ca

Cet article contient des lignes de commande relié à la manipulation de fichiers PDF.

Voir la documentation du logiciel pdftk.

Sommaire

[modifier] Extraire des pages d'un pdf

Pour les pages 1 à 10 du fichier input.pdf:

 pdftk A=input.pdf cat A1-10 output output.pdf

Pour les pages 1-2 et 9-10:

pdftk A=input.pdf cat A1-2 A9-10 output output.pdf

Pour la page 1 seulement:

pdftk A=input.pdf cat A1-1 output output.pdf

[modifier] Fusionner 2 fichiers PDF

pdftk file1.pdf file2.pdf file3.pdf cat output out.pdf

ou

pdfjoin --paper letterpaper --orient portrait fichier1.pdf fichier2.pdf --outfile output.pdf

[modifier] Faire une rotation à un pdf

90° anti-horaire:

 pdftk input.pdf cat 1-endN output output.pdf

90° horaire (pas clair que ça fonctionne, voir PDFTK Rotating Pages Problem):

pdftk input.pdf cat 1-endS output output.pdf

180°:

pdftk in.pdf cat 1-endsouth output out.pdf

(source)

[modifier] Convertir un fichier pdf en texte

Permet de faire sauter l'encryption d'un pdf.

pdftotext input.pdf

[modifier] Convertir une image en pdf

convert image.jpg fichier.pdf

Si l'image est monochrome:

convert -monochrome image.png fichier.pdf

[modifier] Convertir pdf en image(s)

Une image sera produite par page du pdf:

convert fichier.pdf image.png

Pour avoir une grande qualité dans les images:

convert  -density 150 -trim fichier.pdf -quality 100 image.png

S'il y a plus de 9 pages, pour avoir un nombre de chiffres adéquat dans le nom de fichier, utiliser %0N où N est le nombre de chiffres désiré dans le nom. Par exemple, pour avoir des nombres à deux chiffres, utiliser:

convert fichier.pdf image-%02d.png

[modifier] Erreur de conversion PDF -> PNG

Si vous avez une erreur du type convert: not authorized `blabla.pdf`, comme il est indiqué sur cette page, il faut faire les modifications suivantes dans le fichiers policy.xml (sous Ubuntu 16.04 c'est ici /etc/ImageMagick-6/policy.xml):

Changer la ligne

<policy domain="coder" rights="none" pattern="PDF" />

pour

<policy domain="coder" rights="read|write" pattern="PDF" />

Ajouter la ligne:

<policy domain="coder" rights="read|write" pattern="LABEL" />

[modifier] Nombre de pages dans un pdf

pdftk file.pdf dump_data output | grep -i Num | tail -1

[modifier] Réduire le poids d'un fichier PDF

gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 \
-dPDFSETTINGS=/ebook -sOutputFile=output.pdf input.pdf

Niveau de qualité:

  • /screen: plus basse résolution et plus petite grosseur de fichier
  • /ebook: en résolution et un grosseur de fichier moyennes
  • /printer et /prepress: haute qualité pour impression de PDF.

Source: eHow

[modifier] Convertir en noir et blanc

gs -sOutputFile=grayscale.pdf -sDEVICE=pdfwrite -sColorConversionStrategy=Gray \ 
-dProcessColorModel=/DeviceGray -dCompatibilityLevel=1.4 -dNOPAUSE -dBATCH input.pdf

[modifier] Dépliant

À partir de deux fichiers PDF d'une page, comment les réduire en 1/4 de page, et faire un fichier recto-verso pour en faire des feuillets.

1. Creer un PDF de 8 pages

pdftk interieur.pdf{,,,} exterieur.pdf{,,,} cat output toutte.pdf

2. Prendre le PDF de 8 pages et en faire un de deux feuilles, 4 pages par feuille

pdfjam --suffix 4 --landscape --nup '2x2' toutte.pdf

[modifier] Extraire les méta-données

Les méta-données sont extraits dans le fichier data.txt:

pdftk original.pdf dump_data output data.txt

[modifier] OCR dans un pdf

[modifier] Installation

L'ordre des paquets est important, sinon cuneiform va se plaindre qu'il ne peut traiter des bmp compresssés.

sudo apt-get install libmagick++-dev
sudo apt-get remove cuneiform
sudo add-apt-repository ppa:gezakovacs/pdfocr
sudo apt-get update
sudo apt-get install pdfocr

[modifier] Conversion

Soyez patients:

pdfocr -i input.pdf -o output.pdf
Outils personnels