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 her eller
  1. Slipp en PDF eller klikk «bla gjennom».
  2. Klikk «Trekk ut bilder» — et miniatyrbildegrid dukker opp.
  3. Klikk på en miniatyr for å laste ned det bildet, eller «Last ned alle som .zip» for et bunt.
  4. 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.