TK TaskKit
Outils PDF

PDF vers images

Convertis chaque page d'un PDF en PNG ou JPEG, restituée dans ton navigateur à la résolution que tu choisis.

Les fichiers restent sur ton appareil. Les PDFs sont lus, fusionnés et sauvegardés entièrement dans ton navigateur. Nous ne recevons jamais un seul octet de ton fichier.

Ce que fait cet outil

Ce convertisseur rend chaque page d'un PDF comme image PNG ou JPEG, rendue dans ton navigateur à la résolution que tu choisis. Dépose un PDF et tu obtiens une grille de miniatures ; choisis un format et une échelle, puis soit télécharge toutes les pages d'un coup, soit sauvegarde des pages individuelles. Le PDF est parsé par pdf.js dans ton onglet, dessiné sur des canvas hors-écran, et seuls ces canvas passent dans une boîte de dialogue de téléchargement. Pas d'upload.

Quand l'utiliser

  • Poster une page de PDF sur un forum ou une plateforme de chat qui n'accepte pas les pièces jointes PDF inline.
  • Générer des miniatures pour un site portfolio sans monter un renderer côté serveur.
  • Sortir des figures d'un papier pour les coller dans des slides ou un autre document.
  • Créer un aperçu email-friendly d'un PDF pour des destinataires sur connexion lente.
  • Produire de l'entrée pour un pipeline OCR qui veut des images raster, pas du PDF vectoriel.

Comment ça marche

pdf.js charge le document et expose une méthode getPage(n) par page. Pour chaque page on demande un viewport à l'échelle choisie (1×, 1,5×, 2×, 2,5× ou 3×) et on le dessine dans un nouveau <canvas> dont la largeur et la hauteur matchent le viewport en pixels. Le canvas est ensuite encodé avec canvas.toBlob() (image/png ou image/jpeg à qualité 0,92 pour JPEG) et soit prévisualisé comme miniature, soit sauvegardé comme téléchargement.

Changer le format est peu coûteux parce que le canvas est déjà rendu — on réencode juste les mêmes pixels en PNG ou JPEG et on rafraîchit les miniatures. Changer l'échelle est plus coûteux : une échelle différente nécessite une résolution de canvas différente, donc l'outil relance le rendu de page de pdf.js au nouveau viewport. La limite dure de 100 pages est une soupape de sécurité pour la thread principale du navigateur ; au-delà, le temps de rendu et l'usage mémoire grimpent inconfortablement pour un onglet.

Le worker pdf.js est chargé comme un asset same-origin (Vite l'émet à la build), donc pas de CDN tiers impliqué. Une fois chargé, plus aucun trafic réseau n'a lieu — chaque rendu de page et encodage d'image est local.

Notes

PNG ou JPEG ? PNG est sans perte, plus gros, et parfait pour les pages avec du texte ou des graphismes nets. JPEG est plus petit et bien adapté aux pages riches en images (scans, photos, cartes), mais peut introduire des artefacts de compression visibles sur les bords du texte. Le défaut est PNG ; passe à JPEG quand la taille de fichier compte.

Pourquoi l'échelle 3× a-t-elle l'air pareil sur mon écran ? La densité de pixels de ton moniteur cape ce que tu peux voir au moment de la prévisualisation, mais le fichier de sortie est vraiment 3× la résolution. La miniature dans la grille est sous-échantillonnée par le navigateur ; l'image que tu télécharges est en taille réelle.

Le PDF chiffré marche-t-il ? Les PDFs avec mot de passe d'ouverture standard rendent généralement via pdf.js. Les PDFs avec chiffrement de contenu ou DRM peuvent échouer ; le panneau affichera une erreur de chargement et rien ne se rend.

Puis-je rendre une page spécifique uniquement ? La grille montre chaque page ; clique sur la petite icône de téléchargement sur une miniature pour sauvegarder juste cette page. Il n'y a pas de toggle séparé « rendre seulement la page X » — à l'échelle 1×, rendre un PDF de 50 pages est assez rapide pour que le coût ne soit pas significatif.

Outils liés