Trekk ut bilder fra PDF
Hent alle innebygde bilder ut av en PDF og last dem ned enkeltvis eller som én .zip. Ingen opplasting.
- Slipp en PDF eller klikk «bla gjennom».
- Klikk «Trekk ut bilder» — et miniatyrbildegrid dukker opp.
- Klikk på en miniatyr for å laste ned det bildet, eller «Last ned alle som .zip» for et bunt.
- Bilder lagres som PNG; original koding dekodes først til en canvas.
Hva gjør det?
Går gjennom hver side i PDF-en, lokaliserer hver paintImageXObject-operasjon og trekker ut det underliggende bildebitmapet. Hvert ekstrahert bilde normaliseres til PNG via canvas — JPEG-kilder mister sin opprinnelige komprimering, men utdata-pikslene er de samme som det PDF-en rendret. Bilder lagret i ikke-støttede codecer (JBIG2, CCITT for faks, JPX for JPEG 2000) rapporteres i tellingen men dekodes ikke — de ville krevd dedikerte codec-biblioteker utover pdfjs-dist.
Vanlige problemer
PDF-bildeekstraksjon er fundamentalt codec-avhengig. De fleste PDF-er fungerer — disse er mønstrene der ekstraksjonen kan produsere overraskende resultater.
- Ikke-støttede bildecodecer. JBIG2 (noen skannede dokumenter), CCITT (faks-stil-skanninger) og JPEG 2000 (JPX) dekodes ikke. Statuslinjen rapporterer hvor mange som ble hoppet over. For å trekke ut disse, render via /pdf-to-images i stedet — det rasteriserer hele siden inkludert bildet.
- Original JPEG-kvalitet tapt. Bilder eksporteres som PNG for å bevare gjennomsiktighet og unngå dobbeltkomprimering-artefakter. Hvis kilden din var en JPEG innebygd i PDF-en, er PNG-utdataen større men piksel-identisk til det pdf-lib dekodet.
- Inline-bilder gått glipp av. Noen PDF-er bruker inline-bildedata (BI/ID/EI-operatorer) i stedet for XObjects — typisk veldig små bilder. v1 trekker ikke ut disse. De fleste bilder og skjermbilder er XObjects og trekkes ut korrekt.
- Samme bilde, flere ganger. PDF-er refererer ofte ett bilde-XObject fra flere sider. v1 trekker ut bildet én gang per paintImageXObject-kall, så en duplisert logo vil dukke opp én gang per bruk. Dedupliser etter filnavn eller hash om nødvendig.
- Krypterte PDF-er. Passordbeskyttede PDF-er kan ikke åpnes uten passordet. Kjør dem gjennom /pdf-unlock først hvis du har eierpassordet.
- Veldig store PDF-er. Hvert ekstrahert bilde lever i nettleserminnet til du tømmer eller navigerer bort. PDF-er med hundrevis av høyoppløselige bilder kan bruke 100s av MB RAM. Bruk .zip-nedlastingen raskt og klikk Tøm når du er ferdig.
Ofte stilte spørsmål
Hvorfor er bildene mine PNG, ikke JPG?
PNG bevarer gjennomsiktighet og unngår re-kodings-artefakter. Pikslene er de samme som originalen; filen er større fordi PNG er tapsfri. For å spare plass, kjør resultatet gjennom /image-compress i WebP-modus.
Hvordan vet jeg hvilken side hvert bilde kom fra?
Filnavn følger mønsteret `pageN-imgM.png` — N er kilde-sidetallet, M er et sekvensnummer innen den siden. Sorter etter filnavn for å se rekkefølgen de dukker opp i PDF-en.
Vil krypterte bilder komme ut forvrengt?
Bildedata inni en ukryptert PDF er ikke separat kryptert — det dekodes normalt. Hvis PDF-en selv er kryptert, kan verktøyet ikke lese den i det hele tatt (se kryptert-PDF-notatet over).
Hvorfor er tellingen høyere enn de synlige bildene?
Noen PDF-er bruker flere bilde-XObjects per synlige bilde (f.eks. en soft-mask alfakanal lagret som et separat gråtonebilde). v1 trekker ut hvert — soft-masken er det som får hovedbildet til å se riktig ut når sammensatt, men alene fremstår det som en svart-hvit silhuett.
Lastes PDF-en min opp?
Nei. Alt kjører i nettleseren din — PDF-en parses av pdfjs-dist og bilde-bitmaps rendres via canvas, alt på klientsiden. Ingen nettverksforespørsler avfyres.
Hvor stor PDF kan jeg trekke ut fra?
Opp til omtrent 100 MB PDF før nettleseren begynner å føles treg. Hardgrensen er fanen din-minne — hvis ekstraksjonen OOMer, del PDF-en via /pdf-split og kjør hver seksjon separat.