La réponse actuellement acceptée fait le travail mais le résultat est plus volumineux en taille et souffre d'une perte de qualité.
La méthode de la réponse donnée ici donne un résultat de taille comparable à l'entrée et ne souffre pas de perte de qualité.
TLDR - Utilisez pdfimages
: pdfimages -j input.pdf output
En citant la réponse liée:
Il n'est pas clair ce que vous voulez dire par "perte de qualité". Cela peut signifier beaucoup de choses différentes. Pourriez-vous poster quelques échantillons pour illustrer?
Peut-être découpez la même section des versions de mauvaise qualité et de bonne qualité (en PNG pour éviter une perte de qualité supplémentaire).
Peut-être avez-vous besoin d'utiliser -density
pour effectuer la conversion à une haute résolution:
convert -density 300 file.pdf page_%04d.jpg
(Vous pouvez préfixer -units PixelsPerInch
ou -units PixelsPerCentimeter
si nécessaire. Ma copie est par défaut en ppi.)
Mise à jour: Comme vous l'avez souligné, gscan2pdf
(de la manière dont vous l'utilisez) est juste une interface pour pdfimages
(de poppler). pdfimages
ne réalise pas la même tâche que convert
lorsqu'il reçoit un PDF en entrée.
convert
prend le PDF, le rend à une certaine résolution, et utilise l'image bitmap résultante comme image source.
pdfimages
recherche dans le PDF les images bitmap intégrées et les exporte dans un fichier. Il ignore simplement tout texte ou commandes de dessin vectoriel dans le PDF.
Par conséquent, si vous avez un PDF qui est simplement un conteneur pour une série d'images bitmap, pdfimages
fera un bien meilleur travail pour les extraire, car il vous donne les données brutes à leur taille d'origine. Vous voudrez probablement également utiliser l'option -j
avec pdfimages
, car un PDF peut contenir des données JPEG brutes. Par défaut, pdfimages
convertit tout en format PNM, et convertir JPEG > PPM > JPEG est un processus de perte de qualité.
Donc, essayez
pdfimages -j file.pdf page
Vous devrez peut-être suivre cela d'une étape de conversion en .jpg
avec convert
(selon le format bitmap utilisé dans le PDF).
J'ai essayé cette commande sur un PDF que j'avais créé moi-même à partir d'une séquence d'images JPEG. Les JPEG extraits étaient identiques, octet par octet, aux images sources. On ne peut pas obtenir une meilleure qualité que cela.
0 votes
Apparemment, c'est également possible avec inkscape: stackoverflow.com/a/15484727/32453
2 votes
Je n'ai pas 10 rep pour poster une réponse, alors voici une autre façon, utilisez MuPDF.
mutool convert -o fichier.png fichier.pdf
2 votes
Sur bash:
pdftocairo fichier.pdf -png
0 votes
PDFBox le fait également très bien. pdfbox.apache.org
0 votes
Vous pouvez utiliser convertpdftojpg.net qui est un convertisseur PDF en JPG sécurisé et rapide