Extraire les images du PDF
Extrayez toutes les images intégrées d'un PDF et téléchargez-les une par une ou en .zip. Sans upload.
- Déposez un PDF ou cliquez sur « parcourir ».
- Cliquez sur « Extraire les images » — une grille de miniatures apparaît.
- Cliquez sur n'importe quelle miniature pour télécharger cette image, ou « Tout télécharger en .zip » pour un paquet.
- Les images sont enregistrées en PNG ; l'encodage original est d'abord décodé dans un canvas.
Que fait-il ?
Parcourt chaque page du PDF, localise chaque opération paintImageXObject et extrait le bitmap d'image sous-jacent. Chaque image extraite est normalisée en PNG via canvas — les sources JPEG perdent leur compression originale, mais les pixels de sortie sont identiques à ce que le PDF a rendu. Les images stockées en codecs non supportés (JBIG2, CCITT pour fax, JPX pour JPEG 2000) sont comptées mais non décodées — celles-ci nécessiteraient des bibliothèques de codec dédiées au-delà de pdfjs-dist.
Problèmes courants
L'extraction d'images PDF dépend fondamentalement du codec. La plupart des PDFs fonctionnent — voici les motifs où l'extraction peut produire des résultats surprenants.
- Codecs d'image non supportés. JBIG2 (certains documents scannés), CCITT (scans style fax) et JPEG 2000 (JPX) ne sont pas décodés. La ligne d'état rapporte combien ont été ignorés. Pour extraire ceux-là, rendez via /pdf-to-images à la place — cela rasterise toute la page y compris l'image.
- Qualité JPEG originale perdue. Les images sont exportées en PNG pour préserver la transparence et éviter les artefacts de double compression. Si votre source était un JPEG embarqué dans le PDF, la sortie PNG est plus grande mais pixel-identique à ce que pdf-lib a décodé.
- Images inline manquées. Certains PDFs utilisent des données d'image inline (opérateurs BI/ID/EI) au lieu de XObjects — typiquement de très petites images. v1 ne les extrait pas. La plupart des photos et captures sont des XObjects et sont extraites correctement.
- Même image, plusieurs fois. Les PDFs référencent souvent un XObject d'image depuis plusieurs pages. v1 extrait l'image une fois par appel paintImageXObject, donc un logo dupliqué apparaîtra une fois par utilisation. Déduplique par nom ou hash si nécessaire.
- PDFs chiffrés. Les PDFs protégés par mot de passe ne peuvent pas être ouverts sans le mot de passe. Passez-les d'abord par /pdf-unlock si vous avez le mot de passe propriétaire.
- Très grands PDFs. Chaque image extraite vit dans la mémoire du navigateur jusqu'à ce que vous effaciez ou naviguiez ailleurs. Les PDFs avec des centaines d'images haute résolution peuvent utiliser des centaines de Mo de RAM. Utilisez le téléchargement .zip rapidement et cliquez sur Effacer une fois terminé.
Questions fréquentes
Pourquoi mes images sont-elles PNG, pas JPG ?
PNG préserve la transparence et évite les artefacts de ré-encodage. Les pixels sont les mêmes que l'original ; le fichier est plus grand parce que PNG est sans perte. Pour économiser l'espace, faites passer le résultat par /image-compress en mode WebP.
Comment savoir de quelle page chaque image vient ?
Les noms de fichiers suivent le motif `pageN-imgM.png` — N est le numéro de page source, M est un numéro de séquence dans cette page. Triez par nom de fichier pour voir l'ordre où elles apparaissent dans le PDF.
Les images chiffrées sortiront-elles brouillées ?
Les données d'image à l'intérieur d'un PDF non chiffré ne sont pas chiffrées séparément — elles se décodent normalement. Si le PDF lui-même est chiffré, l'outil ne peut pas le lire du tout (voir la note sur les PDFs chiffrés ci-dessus).
Pourquoi le compte est-il plus élevé que les images visibles ?
Certains PDFs utilisent plusieurs XObjects d'image par image visible (par ex., un canal alpha soft-mask stocké comme une image en niveaux de gris séparée). v1 extrait chacun — le soft-mask est ce qui rend l'image principale correcte lors de la composition, mais seul il apparaît comme une silhouette noir et blanc.
Mon PDF est-il téléchargé ?
Non. Tout s'exécute dans votre navigateur — votre PDF est parsé par pdfjs-dist et les bitmaps d'image sont rendus via canvas, tout côté client. Aucune requête réseau ne se déclenche.
Quelle taille de PDF puis-je extraire ?
Jusqu'à environ 100 Mo de PDF avant que le navigateur ne commence à se sentir lent. La limite stricte est la mémoire de votre onglet — si l'extraction OOM, divisez le PDF via /pdf-split et exécutez chaque section séparément.