Skip to Content

Comment lire ou modifier des fichiers PDF sous Linux

But de ce document

Ce mémo fait l’inventaire des différents programmes disponibles sous Linux permettant de lire ou modifier des fichiers PDF.

Le format PDF (proche du format Postcript) est de plus en plus utilisé dans l’échange de documents.

Lire des fichiers PDF

Acrobat Reader 7.0.5

Ce programme gratuit mais non libre est développé par la société Adobe qui est à l’origine du format PDF. La version disponible sous Linux est la même que celle disponible sous Windows ce qui a pour avantage de ne pas perturber les utilisateurs migrants ;-)

Après téléchargement à partir du site officiel, ce programme s’installe très facilement à la Windows en quelques clics.

Ce programme utilise la bibliothèque graphique GTK+ de Gnome.

Avec Acrobat, le rendu des fichiers PDF est toujours parfait contrairement à ses concurrents libres qui souffrent encore de quelques petits défauts.

KPDF 0.5.2

KPDF est le lecteur PDF par défaut de KDE.

Ce programme est quasiment aussi évolué qu’Acrobat Reader.

KPDF est à ma connaissance le logiciel libre le plus efficace pour lire des PDF. Il peut donc parfaitement remplacer Acrobat Reader dans la grande majorité des cas.

Cependant il a encore quelques petits défauts par rapport à Acrobat Reader :

  •  Il ne sais pas ajuster un document à la zone imprimable. Donc dans certains cas, les bords du documents sont tronqués.
  •  Il ne sait pas gérer la transparence des images png. Cela peut poser des problèmes d’affichage si le document en comporte, mais c’est encore très rare.
  •  Il ne sait pas faire une rotation du document (utile pour les images ou les plans)
  •  Il ne gère pas correctement le lissage des caractères et des courbes contrairement à Acrobat Reader et même gpdf (Problème rencontré avec des plans de CAO complexe au format A0).

    Mais il a également plusieurs avantages :

  •  Il est beaucoup plus léger en mémoire et plus rapide à se lancer
  •  Il est parfaitement intégré à KDE et Konqueror ce qui facilite la lecture de fichiers PDF.
  •  Il est possible de lancer un diaporama avec défilement automatique des diapos et effet de transitions.

    KghostView 0.2

    KghostView est un autre lecteur PDF pour KDE et il correspond au portage sous KDE de Ghostview.

    Il offre quasiment les mêmes fonctionnalités que KPDF. Il est cependant possible avec KghostView contrairement à KPDF de déplacer le zoom depuis la fenêtre miniature de la page.

    Remarque  : Ce programme est encore jeune et buggué, car je n’ai pas réussi à ouvrir certains PDF alors qu’ils s’ouvraient sans problème avec les autres lecteurs.

    GPDF 2.10

    GPDF est un lecteur PDF pour Gnome, mais fonctionnant également très bien sous KDE

    J’ai trouvé plusieurs avantages à GPDF par rapport à KDPF  :

  •  Possibilité de modifier le zoom à partir de l’affichage de la page en miniature
  •  Lissage parfait des polices et des contours

    EVINCE 0.4

    Evince est un lecteur de fichiers universel pour Gnome. Il a quasiment la même interface que GPDF, mais utilise le même moteur d’affichage que KPDF. Ce moteur est «  poppler  » (http://poppler.freedesktop.org/). C’est un fork de xpdf à la base.

    Voici quelque différences avec ses concurrents :

  •  Les vignettes des pages affiches le contenu comme dans KPDF contrairement à GPDF
  •  Dans les vignettes des pages il n’est pas possible de modifier le zoom comme dans GPDF
  •  Le lissage des caractères et des courbes n’est pas aussi efficace qu’avec GPDF

    XPDF 3.01

    XPDF est le lecteur PDF de base des système X-Windows.

    XPDF est beaucoup moins joli et efficace que GPDF ou KPDF. Il faut donc l’utiliser uniquement si vous voulez un bureau minimaliste sans Gnome ou KDE.

    Tableau comparatif des lecteurs testés

    Fonctionnalité Acrobat Reader KPDF KghostView GPDF EVINCE XPDF
    Ajustement de l’impression à la zone imprimable Oui . . . . .
    Gestion de la transparence des images .png Oui Oui . . (1) .
    Rotation d’un document Oui . . . Oui .
    Lissage des caractères et des courbes Oui . . Oui (2) .
    Intégré à KDE et Konqueror . Oui Oui . . .
    Intégré avec un plugin dans Firefox Oui . . . Oui (3) .
    Zoom plus ou moins à la souris Oui Oui . . . .
    Modifier ou déplacer le zoom à partir de la page en miniature Oui . Déplacer Oui . .
    Affichage détaillé des pages en miniature Oui Oui Oui . Oui .
    Navigation avec les signets (Contenu) Oui Oui . Oui Oui .
    Mode diaporama avec animations . Oui . . . .
    Copier / Coller de texte ou d’images Oui Oui Texte
    Recherches dans le document Oui Oui Oui

    (1) La version 0.4 d’Evince fournie actuellement sur Debian Testing ne supporte pas la transparence, mais la dernière version 0.5.2, la supporte partiellement (sur certains fichiers)

    (2) La version 0.4 d’Evince ne supporte pas le lissage des caractères et des courbes, mais la dernière version 0.5.2, le supporte parfaitement comme GPDF.

    (3) Pour activer le plugin, il faut installer le paquet « mozplugger » et modifier le fichier « /etc/mozpluggerrc »

    Importer des fichiers PDF avec « KWord 1.4.2 »

    KWord est capable d’importer le contenu (Texte avec mise en forme et images) d’un fichier PDF.

    L’importation n’est pas parfaite (loin de là), mais elle permet déjà de récupérer beaucoup d’informations.

    KWord est à ma connaissance le logiciel libre permettant l’importation PDF la plus efficace.

    Récupérer les images d’un fichier PDF avec « pdfimage » fourni avec « XPDF »

    Cette commande extrait toutes les images du fichier PDF « MonFichier.pdf » en les nommant avec un commençant par « MesImages »

    $ pdfimages -j MonFichier.pdf MesImages

    Remarque  : Le paramètre « -j » permet de convertir les images au format .jpg si c’est possible autrement, elles sont extraites au format .ppm

    Convertir un fichier PDF en image avec « convert » fourni avec « ImageMagick »

    La commande suivante permet de convertir un fichier pdf au format png

    $ convert MonFichier.pdf MonFichier.png                                                                  

    La commande suivante permet de convertir un fichier pdf au format tif avec une compression de type lzw :

    $ convert -compress lzw MonFichier.pdf MonFichier.lzw.tif                                                  

    Pour plus d’informations sur les options de cette commande, vous pouvez consulter cette page :

  •  http://www.imagemagick.org/script/command-line-options.php#compress

    Convertir un fichier PDF en HTML avec « PDFtoHTML »

    Comme son nom l’indique, cet utilitaire en ligne de commande permet de convertir un fichier PDF en HTML. L’intérêt de cet utilitaire est qu’il récupère à la fois le texte formaté et chaque image dans un fichier séparé.

    $ pdftohtml MonFichier.pdf                      

    Converti un fichier PDF en texte ou en image PPM avec « XPDF »

    Le paquet xpdf fourni plusieurs utilitaires en ligne de commande :

  •  pdftoppm : Pour convertir un PDF en image PPM
  •  pdftops : Pour convertir un PDF en fichier PostScript
  •  pdftotext : Pour convertir un PDF en texte brute (non formaté)

    Convertit un fichier PDF en image bitmap avec Gimp

    Gimp est capable d’ouvrir un fichier PDF et donc de l’enregistrer dans n’importe lequel des nombreux formats qu’il connaît.

    Cependant convertir un fichier avec Gimp a deux inconvénients :

  •  Le résultat sera forcément une image bitmap (en pixels) et non pas vectorielle alors que le format PDF est de type vectoriel.
  •  Gimp ne peut ouvrir qu’une seule page d’un fichier PDF à la fois. Donc si votre fichier PDF comporte des dizaines de pages, il faudra effectuer la conversion page par page.

    Manipuler des PDF avec PDFTK

    PDFTK est une boite à outils pdf permettant d’effectuer de nombreuses opérations :

  •  Fusionner plusieurs documents PDF
  •  Modifier les propriétés et les permissions d’un document
  •  Manipuler les formulaires et les fichiers attachés
  •  Ajouter un filigrane
  •  Compresser et décompresser le code PDF
  •  Tenter de réparer un document endommagé

    Voici un exemple pour essayer de réparer un fichier endommagé :

    $ pdftk MonFichierAbimé.pdf output MonFichierRéparé.pdf

    La commande suivante, permet de réparer un fichier pour ensuite le convertir en tif :

    $ pdftk MonFichier.pdf output - | convert -compress lzw pdf:- MonFichier.tif

    Pour les utilisateurs de Konqueror, il existe deux servicemenu exploitant la plupart des fonctionnalités de pdftk :

  •  http://kde-apps.org/content/show.php ?content=18545
  •  http://kde-apps.org/content/show.php ?content=37321

    Fusionner et découper des PDF avec PDFSAM

    PDF Split And Merge (Pdfsam) est un utilitaire utilisable en ligne de commandes ou via une interface graphique qui permet de fusionner ou découper des fichiers PDF.

    PDFSAM est multi-plateforme, car il est écrit en Java et s’appuie sur la librairie iText. L’interface est en anglais.

    PDFSAM est plus simple (mais plus limité) à utiliser que PDFTK.

    Liens pour avoir plus d’informations :

  •  Le site officiel : http://www.pdfsam.org/
  •  Article de Framasoft : http://www.framasoft.net/article4346.html

    Ajouter une entrée dans le menu contextuel de Konqueror pour convertir des PDF

    Pour ajouter de nouvelles entrées dans le menu contextuel de Konqueror, il faut créer un nouveau fichier intitulé par exemple «  Traitement-PDF.desktop  » dans le dossier suivant :

  •  /usr/share/apps/konqueror/servicemenus

    Voici un exemple de contenu permettant de convertir des PDF en TIF :

    [Desktop Entry]
    ServiceTypes=all/allfiles
    Actions=PDFenTIF

    [Desktop Action PDFenTIF]
    Name=Convertir PDF en TIF
    Name[fr]=Convertir PDF en TIF
    Icon=kpdf
    Exec=pdftk %U output - | convert -compress lzw pdf:- %U.lzw.tif

    Éditer des fichiers PDF avec « PdfEdit »

    PdfEdit est un nouveau programme très intéressant permettant d’éditer et modifier des fichiers PDF. A ce jour (4 mars 2007) il n’est pas disponible sous Debian Testing, mais le paquet disponible sous Debian Sid fonctionne sans problème sous Testing :

  •  http://ftp.debian.org/debian/pool/main/p/pdfedit/

    Une fois le paquet téléchargé, il suffit de l’installer avec cette commande :

    # dpkg -i pdfedit_0.2.5-1_i386.deb

    Convertir une image PDF / Postscript dans un autre format vectoriel avec pstoedit

    Le programme «  pstoedit  » permet de convertir un fichier Postscript dans la plupart des formats vectoriels existants :

  •  svg, wmf, dxf,...

    Par exemple, ces deux commandes permettent de convertir un fichier PDF en fichier SVG :

    $ pdftops MonFichier.pdf
    $ pstoedit -f plot-svg MonFichier.pdf.ps MonFichier.pdf.svg    

    Historique des modifications

    Version Date Commentaire
    0.3 22/04/06 Création par Tony GALMICHE
    0.5 04/03/07 Ajout chapitre « Éditer des fichiers PDF avec « PdfEdit »
    0.6 07/03/07 Ajout servicemenu de Konqueror pour « pdftk »
    0.7 21/03/07 Ajout « Convertir une image PDF / Postscript dans un autre format vectoriel avec pstoedit »
    0.8 03/05/07 Ajout « Fusionner et découper des PDF avec PDFSAM »
  • Commentaires

    > Comment lire ou modifier des fichiers PDF sous Linux

    Je viens juste de proposer une nouvelle version pour tenir compte de ton message précédent.

    Mais comme je viens de voire ce nouveau message, il va falloir que je me remette au travail :-)

    Merci pour ton billet très interessant, je vais en tenir compte dés que possible.

    > Comment lire ou modifier des fichiers PDF sous Linux

    Ce paquet est-il installable sous Debian Testing ?

    > Voici un p’tit complément

    Merci pour le lien. J’ai ajouté un chapitre pour Gimp et XPDF

    > Comment lire ou modifier des fichiers PDF sous Linux

    Bon, facile de critiquer ... je propose le "patch" suivant (même si j’avoue ne pas comprendre toutes les caractéristiques originales) :

    http://www.gnunux.info/dotclear/index.php ?2006/04/22/152-evaluation-de-evince-pour-un-document-de-coagul

    > Voici un p’tit complément

    Voici un petit complément non négligeable, surtout pour parler de Gimp qui ouvre les pdf c’est pas rien ;-)

    > Comment lire ou modifier des fichiers PDF sous Linux

    Une petite remarque concernant l’installation d’Acrobat Reader, sous [K]Ubuntu, il existe un paquet qu’on peut installer avec le gestionnaire de paquets qui permet d’ajouter/retirer des applications. Celui-ci se présente un peu comme le gestionnaire de programme de windows sauf qu’on voit tous les programmes non installés également Il suffit de cocher/décocher l’application pour l’installer/désinstaller.

    > Comment lire ou modifier des fichiers PDF sous Linux

    Moi j’ai des choses a dire ;)

  •  Gnome est en GTK+, pas en GTK, je dirais même GTK+2 mais bon ;
  •  GPDF n’est absolument pas le lecteur de PDF par défaut sous GNOME. C’est evince le lecteur de document (pas que PDF) sous GNOME (mais ca on en avait déjà parlé en réunion) ;
  •  le moteur de evince et de KPDF est le même (comme vu dans la même réunion). Ce moteur est poppler (http://poppler.freedesktop.org/). C’est un fork de xpdf à la base.
    Pour le reste, je ne connais pas les autres outils suffisament.
  • > Comment lire ou modifier des fichiers PDF sous Linux

    Un excellent article (comme d’habitude !)
    RAS