Manipulation de fichiers pdf en ligne de commande

Discussions concernant tout ce qui n'entre pas dans le cadre des autres catégories.
[participation réservée aux utilisateurs inscrits]
Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
MB
Administrateur
Administrateur
Messages : 8083
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Manipulation de fichiers pdf en ligne de commande

Message non lu par MB »

MB. (rejoignez pCloud et bénéficiez de 10Go de stockage en ligne gratuits)
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.
MB
Administrateur
Administrateur
Messages : 8083
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Obtenir des informations sur un fichier pdf

Message non lu par MB »

  • Afficher les métadonnées du fichier src.pdf avec exiftool ...

    Code : Tout sélectionner

    $ exiftool src.pdf
  • Afficher des informations générales sur le fichier src.pdf avec pdfinfo ... On retrouve certaines informations présentes dans les métadonnées, mais on obtient quelques informations supplémentaires, dont le format de page (Page size). La seconde commande permet d'obtenir des informations spécifiques sur le format des pages 1 à 3.

    Code : Tout sélectionner

    $ pdfinfo src.pdf
    $ pdfinfo -f 1 -l 3 src.pdf
  • Lister toutes les fontes utilisées par le fichier src.pdf avec pdffonts ... On pourra par exemple identifier les fontes embarquées dans le fichier pdf (emb=yes). Il est également possible d'utiliser les options -f et -l pour limiter les pages à examiner.

    Code : Tout sélectionner

    $ pdffonts src.pdf
  • Il est également possible d'utiliser mutool pour obtenir des informations sur un fichier pdf.

    Code : Tout sélectionner

    $ mutool info src.pdf
  • Lister toutes les images contenues dans le fichier src.pdf avec pdfimages ... Il est également possible d'utiliser les options -f et -l pour limiter les pages à examiner.

    Code : Tout sélectionner

    $ pdfimages -list src.pdf
MB. (rejoignez pCloud et bénéficiez de 10Go de stockage en ligne gratuits)
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.
MB
Administrateur
Administrateur
Messages : 8083
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Apporter des modifications à un fichier pdf

Message non lu par MB »

  • Modifier une métadonnée du fichier src.pdf avec exiftool ... La commande suivante permet par exemple de modifier le titre du fichier.

    Code : Tout sélectionner

    $ exiftool -Title="Nouveau titre" src.pdf
  • Compresser un fichier src.pdf avec ghostscript ... L'option -dPDFSETTINGS=/screen correspond à la compression la plus élevée, mais on peut utiliser les options /ebook, /printer ou /prepress qui présentent une qualité de plus en plus élevée. Voir ici pour plus de détails sur cette option.

    Code : Tout sélectionner

    $ gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dPDFSETTINGS=/screen -sOutputFile=dst.pdf src.pdf
  • Embarquer toutes les fontes du fichier src.pdf avec ghostscript ... Comme indiqué ici, on a par défaut -dEmbedAllFonts=true, sauf lorsque -dPDFSETTINGS=/screen (ce qui n'est pas le cas dans le commande suivante).

    Code : Tout sélectionner

    $ gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dEmbedAllFonts=true -sOutputFile=dst.pdf src.pdf
  • Redimensionner le fichier src.pdf au format A4 avec ghostscript ... Dans la seconde commande, l'option -dFIXEDMEDIA va fixer l'orientation des pages (si elles n'avaient pas déjà toutes la même).

    Code : Tout sélectionner

    $ gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sPAPERSIZE=a4 -dFitPage -sOutputFile=dst.pdf src.pdf
    $ gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sPAPERSIZE=a4 -dFitPage -dFIXEDMEDIA -sOutputFile=dst.pdf src.pdf
  • Linéariser le fichier src.pdf avec ghostscript ...

    Code : Tout sélectionner

    $ gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dFastWebView -sOutputFile=dst.pdf src.pdf
  • Linéariser le fichier src.pdf avec qpdf ...

    Code : Tout sélectionner

    qpdf src.pdf --linearize dst.pdf
MB. (rejoignez pCloud et bénéficiez de 10Go de stockage en ligne gratuits)
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.
MB
Administrateur
Administrateur
Messages : 8083
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Fusionner des fichiers pdf

Message non lu par MB »

  • Fusionner les fichiers src-1.pdf et src-2.pdf avec ghostscript ...

    Code : Tout sélectionner

    gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOUTPUTFILE=dst.pdf src-01.pdf src-02.pdf
  • Fusionner les fichiers src-1.pdf et src-2.pdf avec qpdf ... La première commande ne va conserver aucune métadonnée, alors que la deuxième va conserver celles du fichier src-1.pdf et que la troisième va conserver celles du fichier src-2.pdf.

    Code : Tout sélectionner

    $ qpdf --empty --pages src-1.pdf src-2.pdf -- dst.pdf
    $ qpdf src-1.pdf --pages . src-2.pdf -- dst.pdf
    $ qpdf src-2.pdf --pages src-1.pdf . -- dst.pdf
  • Fusionner les fichiers src-1.pdf et src-2.pdf avec pdfunite ... La syntaxe est très simple, mais le fichier obtenu est plus lourd que ceux obtenus via les méthodes précédentes.

    Code : Tout sélectionner

    $ pdfunite src-1.pdf src-2.pdf dst.pdf
MB. (rejoignez pCloud et bénéficiez de 10Go de stockage en ligne gratuits)
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.
MB
Administrateur
Administrateur
Messages : 8083
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Scinder un fichier pdf

Message non lu par MB »

  • Extraire les pages 3 à 5 du fichier src.pdf avec ghostscript ...

    Code : Tout sélectionner

    $ gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dFirstPage=3 -dLastPage=5 -sOUTPUTFILE=dst.pdf src.pdf
  • Extraire les pages 3 à 5 du fichier src.pdf avec qpdf ... La première commande ne va conserver aucune métadonnée, alors que la deuxième va conserver celles du fichier src1.pdf.

    Code : Tout sélectionner

    $ qpdf --empty --pages src.pdf 3-5 -- dst.pdf
    $ qpdf src.pdf --pages . 3-5 -- dst.pdf
MB. (rejoignez pCloud et bénéficiez de 10Go de stockage en ligne gratuits)
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.
MB
Administrateur
Administrateur
Messages : 8083
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Extraire les images d'un fichier pdf ou en insérer dans un fichier pdf

Message non lu par MB »

  • Extraire toutes les images du fichier src.pdf avec pdfimages ... Le nom de fichier des images extraites par la commande suivante va débuter par img et sera suivi d'un numéro.

    Code : Tout sélectionner

    $ pdfimages -all dst.pdf img
  • Insérer les images img-1.png et img-2.png dans le fichier dst.pdf avec montage ... L'option -page a4 permet de faire sorte que le fichier dst.pdf soit au format a4, alors que l'option -gravity center permet de centrer le contenu de la page, que l'option -tile 1x indique que les images sont alignées verticalement et que l'option -geometry 500x+0+5 permet de fixer la largeur des images à 500 pixels et d'ajouter un espace de 5 pixels en haut et en bas de chaque image.

    Code : Tout sélectionner

    $ montage img-1.png img-2.png -page a4 -gravity center -tile 1x -geometry 500x+0+5 dst.pdf
  • Insérer les images img-1.jpg et img-2.jpg dans le fichier dst.pdf avec img2pdf ... Chaque image va être centrée individuellement sur une page au format A4 du fichier pdf, avec une marge minimum de 2cm.

    Code : Tout sélectionner

    $ img2pdf img-1.jpg img-2.jpg --pagesize a4 --border 2cm --output dst.pdf
MB. (rejoignez pCloud et bénéficiez de 10Go de stockage en ligne gratuits)
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.
MB
Administrateur
Administrateur
Messages : 8083
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Transformer un fichier pdf en fichier texte ou en image

Message non lu par MB »

  • Transformer le fichier src.pdf en fichier texte avec pdftotext ... La commande suivante va créer un fichier src.txt et l'option -layout tente de préserver la disposition des éléments.

    Code : Tout sélectionner

    $ pdftotext -layout src.pdf
  • Transformer le fichier src.pdf en fichiers png avec pdftopng ... Les commandes suivantes vont convertir chaque page du fichier src.pdf en un fichier png dont le nom va débuter par img sera suivi d'un numéro. L'option -gray permet de générer une image en niveaux de gris.

    Code : Tout sélectionner

    $ pdftopng src.pdf img
    $ pdftopng -gray src.pdf img
MB. (rejoignez pCloud et bénéficiez de 10Go de stockage en ligne gratuits)
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.
MB
Administrateur
Administrateur
Messages : 8083
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Rechercher du texte dans des fichiers pdf

Message non lu par MB »

  • Rechercher une chaîne de caractères dans des fichiers pdf avec pdfgrep ... La première va rechercher la chaine de caractères 'chaîne à trouver' dans tous les fichiers du répertoire courant en ignorant la case (-i) et en indiquant le numéro de la page (-n). La seconde commande va également explorer les sous-dossiers du répertoire courant (-r).

    Code : Tout sélectionner

    $ pdfgrep -in 'chaîne à trouver' *.pdf
    $ pdfgrep -inr 'chaîne à trouver' *.pdf
MB. (rejoignez pCloud et bénéficiez de 10Go de stockage en ligne gratuits)
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.
marco56
Utilisateur chevronné
Utilisateur chevronné
Messages : 1136
Inscription : jeudi 25 novembre 2010, 22:10

Re: Manipulation de fichiers pdf en ligne de commande

Message non lu par marco56 »

Merci !
Si cela intéresse qqun, j'ai fait un fichier latex de la page pour afficher un pdf sur mon bureau. :)
MB
Administrateur
Administrateur
Messages : 8083
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Re: Manipulation de fichiers pdf en ligne de commande

Message non lu par MB »

marco56 a écrit : jeudi 29 octobre 2020, 00:32 Si cela intéresse qqun, j'ai fait un fichier latex de la page pour afficher un pdf sur mon bureau. :)
C'est-à-dire que tu as fait une version pdf pour consulter hors ligne ?
MB. (rejoignez pCloud et bénéficiez de 10Go de stockage en ligne gratuits)
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.
marco56
Utilisateur chevronné
Utilisateur chevronné
Messages : 1136
Inscription : jeudi 25 novembre 2010, 22:10

Re: Manipulation de fichiers pdf en ligne de commande

Message non lu par marco56 »

Oui, c'est cela.
MB
Administrateur
Administrateur
Messages : 8083
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Re: Manipulation de fichiers pdf en ligne de commande

Message non lu par MB »

D'accord. Il ne s'agit cependant que d'un premier jet et il est fort possible que j'y apporte quelques évolutions/corrections. :)
MB. (rejoignez pCloud et bénéficiez de 10Go de stockage en ligne gratuits)
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.
marco56
Utilisateur chevronné
Utilisateur chevronné
Messages : 1136
Inscription : jeudi 25 novembre 2010, 22:10

Re: Manipulation de fichiers pdf en ligne de commande

Message non lu par marco56 »

Bien sûr. Article très intéressant.
Pour info, je compile via la châine latex->dvi->ps->pdf.
Pièces jointes
commandes-linux-pdf.tex
(9.32 Kio) Téléchargé 311 fois
commandes-linux-pdf.pdf
(48.2 Kio) Téléchargé 822 fois
MB
Administrateur
Administrateur
Messages : 8083
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Re: Manipulation de fichiers pdf en ligne de commande

Message non lu par MB »

Merci. J'ai modifié ton message pour mettre le code directement dans une pièce jointe .tex.
MB. (rejoignez pCloud et bénéficiez de 10Go de stockage en ligne gratuits)
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.