Extraction d'images incorporées à partir d'un PDF

165

Avant de commencer à utiliser Ubuntu, j'utilisais Nitro PDF Reader pour extraire automatiquement les images à partir de fichiers PDF. Existe-t-il un lecteur PDF pour Linux?

J'aimerais pouvoir extraire des images plus rapidement / plus facilement que lors d'une prise de vue instantanée.

1 Ko
la source
Pouvez-vous rappeler à quel point NitroPDF peut faire avec des images vectorielles? Peut pdfimages-on faire mieux / pire que NitroPDF?
Léo Léopold Hertz
2
Possibilité de dupliquer l' outil de ligne
funky-future
2
@ funky-future Clairement, les deux questions sont des doublons, mais votre cible dupliquée n'a que deux réponses et l'une de ces réponses est une réponse spam. Par conséquent, le sens de la duplication doit être inversé pour éviter que le marteau ne soit en train de marteler cette question.
Karel

Réponses:

197

Utilisation pdfimages

pdfimages est un outil d’extraction d’images PDF qui enregistre les images dans un fichier PDF au format de fichier PPM, PBM, JPEG ou JPEG 2000.

C'est une partie du poppler-utilspaquet que vous devrez installer.

Usage: pdfimages [options] <PDF-file> <image-root>

Exemple: Ce qui suit extrait toutes les images d'un fichier PDF et les enregistre au format JPEG.

pdfimages -j in.pdf /tmp/out

Sauvegarde les images du fichier PDF in.pdfdans des fichiers /tmp/out-000.jpg(ou /tmp/out-000.pbmvoir ci-dessous) /tmp/out-001.jpg, etc.


La page de manuel de pdfimages explique:

-j:  Normally, all images are written as PBM (for monochrome images) or PPM for
     non-monochrome images) files. With this option,  images in DCT format are
     saved as JPEG files. All non-DCT images are saved in PBM/PPM format as usual.
pl1nk
la source
8
Ce serait bien d'avoir une solution qui extrait les images dans son format natif. Réencoder les JPEG n'est pas vraiment idéal.
Christian
32
@Christian à partir de la page de -all Write JPEG, JPEG2000, JBIG2, and CCITT images in their native format. CMYK files are written as TIFF files. All other images are written as PNG files. This is equivalent to specifying the options -png -tiff -j -jp2 -jbig2 -ccitt.
manuel
2
Veuillez noter que le -allcommutateur est uniquement pris en charge dans les révisions récentes de poppler-utils. Par exemple, si vous êtes toujours sur 12.04, vous ne pourrez pas accéder à cette option
Glutanimate
1
Si vous ne pouvez pas utiliser, -alloptez pour les formats PNM. Elles sont sans perte et vous pouvez post-traiter les images, par exemple, au format PNG.
Tomasz Gandor
1
@Christian, utilisez $ pdfimages -list <PDF-file>pour vérifier le format d'origine dans la colonne "enc", de sorte que vous n'ayez pas à recoder l'image dans un autre format.
José Barakat
24

J'utilise souvent Inkscape pour cela. Chargez la page et supprimez tous les autres éléments. L’avantage est que vous pouvez obtenir des images vectorielles au format SVG et les modifier à votre guise.

Diablotin
la source
Certains PDF ne peuvent être importés correctement qu'avec l'importation interne Inkscape (importation poppler / cairo ou pdfimage ne peuvent pas l'analyser correctement). Une fois importé, copier et coller l' image dans un nouveau fichier et la page redimensionner à la sélection graphicdesign.stackexchange.com/a/21638/95041
sdaffa23fdsf
Pas de problème pour moi, c'était la meilleure solution, notez que vous devez choisir une page à la fois!
Jimmy Olano le
5

J'ai un fichier PDF à double colonne avec des images incorporées créées avec LaTeX où les images originales ont été fournies au format EPS. J'ai essayé la solution proposée basée sur pdfimages, mais malheureusement, elle n'a renvoyé aucune image. J'ai alors essayé d'utiliser Inkscape, mais les images SVG qu'il générait étaient déformées et je n'ai pas eu la chance de les exporter au format EPS.

Le logiciel qui a fonctionné pour nous était le MasterPdfEditor .

Voici la procédure

  • Ouvrez votre fichier avec Master PDF Editor
  • Utilisez l' outil d'édition (Alt + 1) pour sélectionner l'image à extraire.
  • Copier la figure (Ctrl + C)
  • Cliquez sur le cadre en pointillé entourant l'image, vérifiez la barre latérale droite (Inspecteur d'objets) et cliquez sur "Geomerty". Là vous pouvez voir la taille de votre sélection
  • Créez un nouveau fichier (Ctrl + N). Il vous demandera de fournir la taille de la page. Fournissez la taille exacte de votre image et créez le nouveau fichier
  • Maintenant c'est un peu délicat: collez l'image (Ctrl + V). L'image peut ne pas apparaître dans le nouveau fichier. Utilisez les flèches pour le déplacer jusqu'à ce que vous puissiez le tracer.
  • Utilisez les flèches pour centrer l'image dans la nouvelle page
  • Enregistrer en PDF

Le résultat est de très haute qualité, mais le logiciel n’est pas gratuit. Il existe une version de démonstration qui "vous permet d'essayer toutes les fonctionnalités", mais vient avec "l'ajout d'un filigrane sur le fichier de sortie". Pour être franc, je n'ai pas remarqué de filigrane dans le fichier PDF produit.

Pantelis Sopasakis
la source
C'est Ask Ubuntu ... Nous aimons l'open source ici et votre solution est une solution commerciale à source fermée ... Comment est-ce meilleur que les réponses déjà votées? (-1 en moyenne)
Fabby
3
@Fabby Merci pour vos commentaires. Je n'en savais rien. Existe-t-il une telle règle sur askubuntu.com? Cependant, dès que vous ouvrez le centre logiciel Ubuntu , vous obtenez des suggestions pour des applications non libres.
Pantelis Sopasakis
Non, il n'y a pas de "règle" et c'est pourquoi je n'ai pas voté pour supprimer cette réponse, mais il existe de meilleurs outils gratuits (comme dans le cas de la bière gratuite et de la liberté d'expression), donc ce n'est qu'un avis.
Fabby
1
+1 J'ai utilisé la ligne de commande ImageMagick, mais c'est une solution intéressante pour ceux qui recherchent une interface graphique.
rpmcruz
2
Cela fonctionne pour certaines personnes, c'est assez bon. Ne soyez pas un nazi ... Je ne sais pas qui "nous" sommes. Vous pouvez parler juste pour vous-même. +1 pour la réponse
sdaffa23fdsf
4

Vous pouvez également essayer pdfmod. C'est une interface graphique (GUI) qui permet d'extraire des images et d'effectuer d'autres manipulations de base en pdf.

Faire
la source
Hmm, ça me semble un peu buggy. Inséré un PDF avec des images principalement violettes et obtenu des images verdâtres.
DBX12
2

Si vous avez besoin d’une image recadrée au format PDF / EPS, extrayez une page avec l’image en utilisant pdfmod(comme suggéré par Tâches).

Ensuite, pdfcropvous pouvez le recadrer correctement en définissant les marges par essais et erreurs:

pdfcrop --margins "-15 -50 0 -140" extracted_page.pdf
Macieksk
la source
1

J'utilise pdfimages, un outil de ligne de commande qui fonctionne très bien pour moi. Il est très facile à utiliser et vous pouvez utiliser l'option --help pour en savoir plus sur son utilisation. J'utilise Ubuntu et il est pré-installé. Si vos fichiers pdf sont cryptés ou protégés par un mot de passe, il existe des options pour cela, donc cet outil fonctionne très bien. Vous pouvez en savoir plus sur pdfimages ici

jetbird13
la source
4
Veuillez lire les autres réponses avant de poster les vôtres. Remarquez qu'il y en a d'autres qui couvrent cela.
Edwin
Ok, désolé :) J'ai pensé poster le mien car il contient des informations sur les fichiers pdf protégés par mot de passe et je lui explique que cet outil dispose de cette option. De plus, j'ai posté un lien qui est un tutoriel sur cet outil.
jetbird13
Si vous gagnez assez de réputation, vous pouvez commenter les réponses des autres ou les augmenter.
Edwin
1

Avec pdfimages, l'image extraite peut être en deux parties ou plus. Un moyen simple de les réassembler sans vous soucier des formats extraits consiste à importer les pièces dans LibreOffice Draw, à les rogner à l'aide du dialogue de rognage d'image, à les positionner, à ajuster la taille de la page et à l'exportation dans le format de votre choix.

DafyddG
la source
1

Si vous souhaitez recadrer une image à partir d'un pdf avec un pdfviewer, vous pouvez essayer okular. Il peut rogner n'importe quoi (textes ou images) au format png ou jpeg. Si vous souhaitez extraire des images au format png à partir d'un fichier PDF, vous pouvez le faire avec une commande minimale avec pdftohtml. Il convertit le pdf en html plus des images. Ici vous pouvez trouver un exemple - https://www.youtube.com/watch?v=CG1rf7k3xo8 . Si vous souhaitez extraire de nombreuses images d'un fichier PDF, je vous suggère d'essayer.

utilisateur203413
la source
0

Logiciels utilisés: OS Xreader: Antergos

Pas:

  1. Ouvrir le PDF
  2. Clic droit sur l'image
  3. Sélectionnez Enregistrer l'image sous ..
  4. Nom du fichier d'entrée et extension.
  5. Sauver.
Yash Krishan
la source