Comment supprimer des images d'un fichier PDF


13

J'ai un document PDF assez volumineux (~ 100 Mo) avec beaucoup d'images (comme illustrations et images d'arrière-plan), et j'aimerais en avoir une copie sans images mais je ne sais pas comment fais ça.

Je ne parle pas de le convertir en texte uniquement, je voudrais garder les paragraphes / tableaux / multi-colonnes tels quels.

Je suis à l'aise avec la ligne de commande et j'ai plusieurs ordinateurs avec différentes distributions que je peux utiliser.


Comme nous parlons d'un document de 500 pages avec plusieurs images sur chaque page, je cherche un moyen automatisé de supprimer chaque image.
Ornux

Réponses:


14
cpdf -draft original.pdf -o version_without_images.pdf

Il n'est pas dans les référentiels mais vous pouvez trouver un téléchargement ( pré-compilé ou source ) sur leur site web .


Manuel :

15.1 Projets de documents

L'option -draft supprime les images bitmap (photographiques) d'un fichier, de sorte qu'il peut être imprimé avec moins d'encre. Facultativement, l'option -boxes peut être ajoutée, remplissant les espaces laissés vides avec une case barrée indiquant l'endroit où l'image était. Cela n'est pas garanti d'être entièrement visible dans tous les cas (le bitmap peut avoir été partiellement couvert par des objets vectoriels ou coupé dans l'original). Par exemple:

 cpdf -draft -boxes in.pdf -o out.pdf

1
C'est exactement ce que je cherchais. Le fichier de sortie est tout simplement parfait. Merci beaucoup!
Ornux

@Rinzwind Veuillez noter que le lien "leur site Web" va en fait vers un fichier zip.
Jos

Hmm .. pour moi, cela continue d'ajouter des lignes presque aléatoires sur et à travers le texte, et la taille du fichier augmente légèrement, plutôt que de rétrécir.
Henning Koehler

23

Les dernières versions de Ghostscript peuvent également le faire. Ajoutez simplement le paramètre -dFILTERIMAGEà votre commande.

Il existe même deux nouveaux paramètres supplémentaires qui peuvent être ajoutés afin de supprimer de manière sélective les types de contenu "vecteur" et "texte" :

  1. -dFILTERIMAGE: produit une sortie où toutes les images raster sont supprimées.

  2. -dFILTERTEXT: produit une sortie où tous les éléments de texte sont supprimés.

  3. -dFILTERVECTOR: produit une sortie où tous les dessins vectoriels sont supprimés.

Deux de ces options peuvent être combinées. (Si vous combinez les 3, toutes les pages seront vides ...)

Exemples

Voici la capture d'écran d'un exemple de page PDF qui contient les 3 types de contenu mentionnés ci-dessus:

Capture d'écran de la page PDF d'origine contenant des éléments "image", "vecteur" et "texte".
Capture d'écran de la page PDF d'origine contenant des éléments "image", "vecteur" et "texte".


L'exécution des 6 commandes suivantes créera les 6 variantes possibles du contenu restant:

 gs -o noIMG.pdf -sDEVICE = pdfwrite -dFILTERIMAGE input.pdf
 gs -o noTXT.pdf -sDEVICE = pdfwrite -dFILTERTEXT input.pdf
 gs -o noVCT.pdf -sDEVICE = pdfwrite -dFILTERVECTOR input.pdf

 gs -o onlyIMG.pdf -sDEVICE = pdfwrite -dFILTERVECTOR -dFILTERTEXT input.pdf
 gs -o onlyTXT.pdf -sDEVICE = pdfwrite -dFILTERVECTOR -dFILTERIMAGE input.pdf
 gs -o onlyVCT.pdf -sDEVICE = pdfwrite -dFILTERIMAGE -dFILTERTEXT input.pdf

L'image suivante illustre les résultats:


Rangée du haut, de gauche: tout "texte" supprimé; toutes les "images" supprimées; tous les "vecteurs" ont été supprimés. Rangée du bas, de gauche: seul "texte" conservé; seules les "images" sont conservées; seuls les "vecteurs" sont conservés.
Rangée du haut, de gauche: tout "texte" supprimé;  toutes les "images" supprimées;  tous les "vecteurs" ont été supprimés.  Rangée du bas, de gauche: seul "texte" conservé;  seules les "images" sont conservées;  seuls les "vecteurs" sont conservés.



2

Alors que la réponse @Rinzwind est la bonne chose , je voudrais juste commenter la solution "à mi-chemin". Vous pouvez normalement réduire considérablement la taille des images en utilisant ghostscript avec

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen \
   -dNOPAUSE -dQUIET -dBATCH -sOutputFile=small.pdf original.pdf

... c'est parfois très pratique pour la relecture. La page de manuel pour la rédaction de PDF est ici .


@KurtPfeifle définira /screen(entre autres) la résolution des images bitmap à 72 dpi. Alors oui, si vous avez des images à plus petit DPI, cela peut augmenter la taille du fichier. C'est la raison pour laquelle j'ai utilisé le mot "normalement" (dans le sens de "pas toujours, mais assez souvent"). N'hésitez pas à voter contre ce que vous voulez.
Rmano

Exécutez cette commande: for s in screen default ; do gs -o /dev/null -sDEVICE=pdfwrite -dPDFSETTINGS=/${s} -c "currentpagedevice {exch ==only ( ) print === } forall" | sort | tee ghostscript---pdfwrite-PDFSETTINGS-${s}--pagedevice-settings.txt; done. Il produira deux fichiers texte que vous pourrez comparer en utilisant sdiff -sbB $[file1}.txt ${file2}.txt. Maintenant, vous connaissez exactement et complètement tous les différents paramètres introduits par -dPDFSETTINGS=/screen!
Kurt Pfeifle

Terminé. Je ne vois toujours pas quelle option peut donner un fichier plus volumineux /screenqu'en /default--- 72 dpi contre 150 dpi, optimisé, ignorer l'aperçu EPS ... mais bon, ce n'est pas un gros problème. Les gens vont tester et choisir la meilleure solution.
Rmano

Je suis désolé - peut-être que je dois m'excuser maintenant pour la coquine de ma première déclaration. Pour être honnête, je ne semble se souvenir de mes enquêtes précédentes (quelques ans de retour) qui /screenont donné des résultats très mauvais. Peut-être que ma mémoire échoue, ou je l'ai mélangé /epub. La commande que je vous ai donnée venait de mémoire parce que j'étais sûr qu'elle montrerait ce que je voulais dire. Maintenant, je l'ai relancé à nouveau, je ne vois plus ce que j'attendais: des tests plus étendus que j'ai exécutés il y a quelques années. Ensuite, de nombreuses polices (CID? / CFF?) Ont obtenu des tailles de ballonnement pixellisées des PDF résultants. Je dois
revisiter

0

Vous pouvez utiliser l'éditeur de pdf maître, supprimer ces images et enregistrer en tant que nouveau fichier pdf. Vous pouvez le télécharger à partir du centre de logiciels Ubuntu.


Je viens de l'installer pour essayer, mais je ne vois aucun moyen automatisé de le faire. Étant donné qu'il s'agit d'un document de 500 pages, je ne vois pas la suppression manuelle comme une solution ici. Ai-je oublié quelque chose ?
Ornux

non vous n'avez rien manqué je pensais que les images sont de grande taille donc vous voulez les supprimer, jamais pensé à autant d'images. de toute façon une belle question.
Sudheer
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.