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 :
- PPM (par défaut)
- PNG (avec
-png
)
- JPEG (avec
-jpeg
)
- 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 :
-
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
-
Identique à 1, mais placez tous les fichiers de sortie dans un dossier appelé images :
mkdir -p images && pdftoppm mypdf.pdf images/pg
-
[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
-
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
-
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 :
- [Comment transformer un PDF en un PDF consultable ?
pdf2searchablepdf
] Comment transformer un pdf en un pdf avec possibilité de recherche de texte ?
- Comment transformer un pdf en un pdf avec recherche de texte ?
- Comment convertir un PDF en image ?
- https://stackoverflow.com/questions/6605006/convert-pdf-to-image-with-high-resolution/58795684#58795684
- https://www.linuxuprising.com/2019/03/how-to-convert-pdf-to-image-png-jpeg.html
- Comment déterminer par programme le DPI des images dans un fichier PDF ?