À propos de cet outil
Les PDF ne stockent pas les images sous forme de fichiers JPG ou PNG distincts — chaque image est intégrée dans le document comme un objet interne, encodé de la manière qui convenait lors de la création du PDF. Cet outil explore cette structure directement dans votre navigateur : il parcourt chaque page à la recherche d'images matricielles intégrées, renvoie les photos stockées en JPEG identiques octet pour octet au fichier d'origine (sans recompression, sans perte de qualité), et reconstruit un véritable fichier PNG valide autour de toute donnée de pixels brute et non compressée qu'il trouve, afin qu'elle devienne elle aussi téléchargeable. Déposez un PDF, cliquez sur « Extraire les images », et chaque image récupérable apparaît sous forme de vignette avec un téléchargement en un clic.
Rien n'est envoyé à un serveur — le PDF est analysé localement avec pdf-lib, en parcourant le dictionnaire interne `/Resources/XObject` de chaque page et en distinguant les véritables images matricielles des Form XObjects (des fragments de page réutilisables qui ne sont pas des photos, comme les pages intégrées par une mise en page n-up ou livret), de sorte que seules les vraies images sont extraites. Certains encodages internes exotiques — palettes de couleurs indexées, CMYK, canaux 16 bits, ou compression fax JBIG2/CCITT généralement utilisée pour les pages numérisées en noir et blanc — ne sont pas réemballés en fichier téléchargeable par cet outil. Plutôt que de deviner des pixels qu'il ne peut pas décoder correctement, il indique honnêtement les dimensions exactes de cette image et la signale comme un encodage non pris en charge plutôt que de produire un fichier corrompu.
Questions fréquentes
Pourquoi indique-t-il « encodage non pris en charge » pour certaines images ?
Les PDF peuvent stocker des images en utilisant plusieurs encodages internes différents. Cet outil prend entièrement en charge les deux plus courants (images encodées en JPEG, extraites telles quelles, et bitmaps RGB encodés en brut/Flate, réempaquetés en fichiers PNG standard). Les encodages moins courants (palettes de couleurs indexées, CMYK, compression de type fax JBIG2, ou JPEG2000) sont détectés — vous verrez toujours leurs dimensions et saurez qu'ils existent — mais ne sont actuellement pas réempaquetés dans un fichier téléchargeable, pour éviter de deviner des données de pixels qu'il ne peut pas décoder de manière fiable.
Cela trouvera-t-il les images utilisées comme arrière-plan de page ou filigrane ?
Oui — l'outil scanne les ressources d'images matricielles intégrées de chaque page, quelle que soit la façon dont elles sont utilisées visuellement (une image d'arrière-plan pleine page, un petit logo, une photo ou un bitmap de filigrane scanné sont tous détectés de la même manière). La seule chose qu'il ignore délibérément, ce sont les filigranes basés sur du TEXTE ou dessinés vectoriellement (comme ceux que crée notre propre outil de filigrane PDF), car ils sont dessinés comme des glyphes de police ou des tracés vectoriels, pas des images matricielles — il n'y a rien à « extraire » comme fichier image dans ce cas.