Ce que fait cet outil
Ce diviseur prend un seul PDF et en sort exactement les pages que tu demandes, comme nouveaux fichiers. Dépose un PDF, tape une ou plusieurs plages (1-3, 5, 7-9) et décide si chaque plage devient son propre téléchargement ou si tout le lot s'effondre en une seule sortie. Pas d'étape d'upload : le PDF source est lu en mémoire, disséqué avec pdf-lib, et les fichiers résultants sont sauvegardés via le flux de téléchargement navigateur normal. TaskKit ne voit jamais le fichier.
Quand l'utiliser
- Sortir un chapitre ou une section unique d'un long livre ou rapport PDF pour que le destinataire ne reçoive pas le pavé entier.
- Séparer un scan multi-up (un PDF contenant plusieurs documents) en un PDF par document.
- Découper une facture ou un contrat d'un dossier de fin de mois combiné pour archivage ou transfert.
- Produire un document distribué expurgé en sélectionnant seulement les pages safe à partager.
- Diviser une grosse soumission pour passer sous une limite de taille d'upload sur un portail qui n'accepte pas ton PDF complet.
Comment ça marche
Le champ plages accepte des entrées séparées par virgules. Chaque entrée est soit une page unique (5) soit une plage avec tiret (7-9) ; les espaces autour des virgules et tirets sont ignorés. Le parser valide chaque entrée contre le nombre de pages source avant qu'aucune sortie ne soit construite — la syntaxe invalide ou les valeurs hors plage remontent comme une seule erreur lisible plutôt qu'un fichier à moitié écrit.
Pour chaque plage, un nouveau PDFDocument est créé et les pages correspondantes sont copiées avec copyPages, qui préserve les polices embarquées, images, annotations et champs de formulaire. Le résultat est sérialisé avec save() et téléchargé avec un nom généré comme source-pages-1-3.pdf ou source-page-5.pdf. Comme Chrome bloque parfois un onglet qui déclenche trop d'événements de téléchargement à la suite, les téléchargements sont espacés d'environ 150 ms pour que la queue soit toujours honorée.
Avec Combiner toutes les plages en un seul PDF activé, la même sélection est concaténée en une seule sortie (source-extracted.pdf). L'ordre suit l'ordre des plages que tu as tapées, pas l'ordre de pages original — donc 5, 1-3 produit un PDF qui commence par la page 5.
Notes
Les PDFs chiffrés sont-ils supportés ? Partiellement. Les PDFs « mot de passe d'ouverture » standards chargent généralement (pdf-lib est permissif) ; les PDFs avec chiffrement de contenu ou DRM peuvent échouer au parse. Si le fichier échoue à charger, le panneau remonte une erreur et rien n'est écrit.
Pourquoi les téléchargements sont-ils espacés ? Les navigateurs suppriment heuristiquement les onglets qui émettent beaucoup de téléchargements séquentiels, traitant ça comme du comportement drive-by. Un petit gap setTimeout entre chaque a.click() garde la rafale sous le seuil tout en restant instantanée pour un humain.
Les références de pages sont-elles préservées ? Les liens internes qui pointent à l'intérieur de la plage gardée continuent de marcher. Les liens qui ciblent une page qui n'est pas passée deviennent des ancres mortes — pdf-lib n'invente pas de substitut. La même chose s'applique au sommaire de table des matières, qui n'est régénéré que pour les pages survivantes.
Puis-je réordonner les pages ? Oui — la sortie suit l'ordre des plages que tu listes. 5, 1-3, 7 produit une sortie qui commence à la page 5, puis 1, 2, 3, et finit à la page 7. C'est la manière la plus simple d'utiliser le diviseur comme outil de réordonnancement de pages rapide quand tu le combines avec le toggle « PDF unique ».
Outils liés
- Fusionneur de PDF — combine des PDFs dans l'autre sens
- PDF vers images — quand tu veux du PNG/JPEG au lieu de PDF
- Générateur de hash — empreinte les sorties avant de les transférer