224 votes

Extraction d'images intégrées dans un PDF

Avant de commencer à utiliser Ubuntu, j'utilisais Nitro PDF reader pour extraire automatiquement les images des fichiers PDF. Existe-t-il un lecteur de PDF pour Linux qui fait cela ?

J'aimerais pouvoir extraire les images plus rapidement/facilement que lors de la prise d'un instantané.

262voto

pl1nk Points 5939

Utilisez pdfimages

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

C'est une partie de la poppler-utils que vous devez installer.

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

  • option -all extraira les images dans format original .
  • option -j extraira les images au format .jpg ( avertissement Les images sont converties et leur taille est généralement plus grande que celle de l'original.)

Exemple1 : La procédure suivante extrait toutes les images d'un fichier PDF, en les enregistrant dans leur format d'origine.

pdfimages -all in.pdf /tmp/out

Exemple2 : La procédure suivante permet d'extraire toutes les images d'un fichier PDF et de les enregistrer au format JPEG.

pdfimages -j in.pdf /tmp/out

Sauvegarde les images du fichier PDF in.pdf dans les fichiers /tmp/out-000.jpg (ou /tmp/out-000.pbm (voir ci-dessous), /tmp/out-001.jpg etc.


Les pdfimages page de manuel 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.

33voto

GGets Points 260

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 en SVG et les modifier à votre guise.

13voto

Gabriel Staples Points 5149

Notez que cette question porte spécifiquement sur "l'extraction d'images intégrées dans un PDF". Le mot-clé est en extrayant ! Cela signifie que : J'ai un PDF ; il contient des images intégré à l'intérieur comment les faire sortir ? Si c'est votre question, utilisez pdfimages als die la réponse principale de @pl1nk déclare .

Comment convertir un PDF en un ensemble d'images :

Cependant, de nombreuses personnes (dont moi-même) qui consultent Google et tombent sur cette question cherchent une question légèrement différente et ne se rendent compte de la différence qu'après des heures de frustration. Donc, si vous cherchez "Comment convertir un PDF en un bouquet d'images" à la place, ce qui n'est PAS la même chose que "comment extraire des images d'un PDF", voici comment : utilisez pdftoppm . "PPM" est ici un format d'image Il s'agit donc simplement d'une conversion de PDF en image. Cela fonctionne extrêmement bien L'application est très lente, même si elle l'est pour un système moderne à plusieurs cœurs, puisqu'il s'agit d'une application à un seul fil et qu'elle ne profite pas de la puissance de traitement de plusieurs cœurs.

Ubuntu 18.04 est livré avec pdftoppm version 0.62.0. Vérifiez votre version avec pdftoppm -v :

$ pdftoppm -v
pdftoppm version 0.62.0
Copyright 2005-2017 The Poppler Developers - http://poppler.freedesktop.org
Copyright 1996-2011 Glyph & Cog, LLC

Lisez les pages du manuel avec man pdftoppm pour voir toutes ses nombreuses fonctionnalités utiles.

Formats d'image de sortie pris en charge :

Comme le montrent les pages de manuel, pdftoppm vous permet de produire des images dans les formats suivants :

  1. PPM (par défaut)
  2. PNG (avec -png )
  3. JPEG (avec -jpeg )
  4. TIFF (avec -tiff )

Il vous permet également de spécifier une sortie en monochrome ( -mono ) ou en niveaux de gris ( -gray ) (couleur par défaut), pour spécifier les numéros de page, pour placer les images de sortie dans un dossier, pour recadrer et redimensionner, pour spécifier la résolution, pour spécifier la qualité jpeg (entre 0 et 100), pour spécifier la compression TIFF, pour traiter uniquement les pages paires ou impaires, etc. Il fonctionne extrêmement bien et est EXTRÊMEMENT UTILE !

Voici quelques exemples d'utilisation pdftoppm pour convertir un PDF en un ensemble de fichiers images :

  1. Fichiers ppm de sortie en tant que pg-1.ppm , pg-2.ppm , pg-3.ppm etc., dans une résolution x et y de 150 DPI par défaut :

    pdftoppm mypdf.pdf pg
  2. Identique à 1, mais placez tous les fichiers de sortie dans un dossier appelé images :

    mkdir -p images && pdftoppm mypdf.pdf images/pg
  3. [Mon préféré] Sortir les images dans le dossier "images" de l'ordinateur. jpeg format avec 300 Résolution x et y DPI au lieu de la résolution par défaut de 150 DPI. Notez que les images de sortie sont à un certain niveau de compression jpeg par défaut, et prendront environ 0,1~1 Mo d'espace par fichier pour une résolution de 300 DPI et en supposant des pages PDF standard de 8,5" x 11".

    mkdir -p images && pdftoppm -jpeg -r 300 mypdf.pdf images/pg
  4. Sortie des images dans le dossier "images" dans jpeg format avec 300 DPI x & y, à la résolution meilleure qualité niveau jpeg possible ! quality Les valeurs peuvent aller de 0 à 100. Voir les pages du manuel. Si la qualité est fixée à 100 et la résolution à 300 DPI, chaque fichier jpeg devrait occuper 2x le stockage comme ci-dessus La taille des fichiers PDF varie de 0,2 à 2 Mo, en fonction du contenu, et les pages PDF doivent être de format 8,5 x 11 pouces.

    mkdir -p images && pdftoppm -jpeg -jpegopt quality=100 -r 300 mypdf.pdf images/pg
  5. Sortie non compressée Images .tif* avec **300 Résolution x et y DPI. La taille des fichiers de sortie sera d'environ 25 Mo pour des pages PDF de 300 DPI et de 8,5" x 11".

    mkdir -p images && pdftoppm -tiff -r 300 mypdf.pdf images/pg

Notez que la sortie de chaque page ci-dessus à 300 DPI prend 15~45 secondes sur mon ordinateur lent, ce qui signifie qu'un PDF de 100 pg pourrait prendre aussi longtemps que 100 x 45/60 = 75 minutes pour des images jpeg en 300 DPI, par exemple.

Pour mesurer la durée du processus sur votre ordinateur, il suffit de placer le bouton time devant la commande pdftoppm de l'une des commandes ci-dessus. Ex : voici le résultat de la conversion d'un PDF de 3 pages :

$ mkdir -p images && time pdftoppm -tiff -r 300 testpdf.pdf images/pg

real    1m47.572s
user    1m45.675s
sys 0m1.536s

Cela signifie qu'il a fallu un temps total de 1m47.572s, soit 60 + ~48 = 108 sec, ce qui donne 108/3 = 36 secondes par page.

En rapport :

  1. [Comment transformer un PDF en un PDF consultable ? pdf2searchablepdf ] Comment transformer un pdf en un pdf avec possibilité de recherche de texte ?
  2. Comment transformer un pdf en un pdf avec recherche de texte ?
  3. Comment convertir un PDF en image ?
  4. https://stackoverflow.com/questions/6605006/convert-pdf-to-image-with-high-resolution/58795684#58795684
  5. https://www.linuxuprising.com/2019/03/how-to-convert-pdf-to-image-png-jpeg.html
  6. Comment déterminer par programme le DPI des images dans un fichier PDF ?

6voto

Paul Williams Points 7390

Vous pouvez également essayer pdfmod. Il s'agit d'une interface graphique (GUI) qui peut extraire des images et effectuer d'autres manipulations basiques de pdf.

6voto

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

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

Voici la procédure à suivre

  • Ouvrez votre fichier en utilisant Master PDF Editor
  • Utilisez le outil d'édition (Alt+1) pour sélectionner l'image à extraire
  • Copier la figure (Ctrl+C)
  • Cliquez sur le cadre en pointillés qui entoure l'image et regardez dans la barre latérale droite (inspecteur d'objets) et cliquez sur "Géométrie". Là, vous pouvez voir la taille de votre sélection
  • Créez un nouveau fichier (Ctrl+N). Il vous sera demandé de fournir la taille de la page. Indiquez la taille exacte de votre image et créez le nouveau fichier.
  • Maintenant, c'est un peu plus délicat : collez l'image (Ctrl+V). L'image peut ne pas apparaître dans le nouveau fichier. Utilisez les flèches pour la déplacer jusqu'à ce que vous puissiez la 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 qui s'accompagne de "l'ajout d'un filigrane sur le fichier de sortie." Pour être franc, je n'ai pas remarqué de filigrane dans le PDF produit.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X