Ekstrak Gambar dari PDF

Ambil semua gambar yang tertanam dalam PDF dan unduh secara individual atau sebagai satu .zip. Tanpa unggah.

Letakkan PDF di sini atau
  1. Letakkan PDF atau klik "jelajahi".
  2. Klik "Ekstrak gambar" — grid thumbnail akan muncul.
  3. Klik thumbnail mana saja untuk mengunduh gambar tersebut, atau "Unduh semua sebagai .zip" untuk paket.
  4. Gambar disimpan sebagai PNG; encoding asli didekode ke canvas terlebih dahulu.
Apa fungsinya?

Menelusuri setiap halaman PDF, menemukan setiap operasi paintImageXObject, dan mengekstrak bitmap gambar yang mendasarinya. Setiap gambar yang diekstrak dinormalisasi menjadi PNG melalui canvas — sumber JPEG kehilangan kompresi aslinya, tetapi piksel keluaran sama dengan yang dirender PDF. Gambar yang disimpan dalam codec yang tidak didukung (JBIG2, CCITT untuk faks, JPX untuk JPEG 2000) dilaporkan dalam jumlah tetapi tidak didekode — ini akan memerlukan pustaka codec khusus di luar pdfjs-dist.

Masalah umum

Ekstraksi gambar PDF secara fundamental bergantung pada codec. Sebagian besar PDF berfungsi — ini adalah pola di mana ekstraksi mungkin menghasilkan hasil yang mengejutkan.

  • Codec gambar tidak didukung. JBIG2 (beberapa dokumen yang dipindai), CCITT (pemindaian gaya faks), dan JPEG 2000 (JPX) tidak didekode. Baris status melaporkan berapa banyak yang dilewati. Untuk mengekstraknya, render melalui /pdf-to-images sebagai gantinya — itu meraster seluruh halaman termasuk gambar.
  • Kualitas JPEG asli hilang. Gambar diekspor sebagai PNG untuk mempertahankan transparansi dan menghindari artefak kompresi ganda. Jika sumber Anda adalah JPEG yang tertanam dalam PDF, output PNG lebih besar tetapi identik secara piksel dengan apa yang didekode pdf-lib.
  • Gambar inline terlewat. Beberapa PDF menggunakan data gambar inline (operator BI/ID/EI) alih-alih XObjects — biasanya gambar yang sangat kecil. v1 tidak mengekstrak ini. Sebagian besar foto dan tangkapan layar adalah XObjects dan diekstrak dengan benar.
  • Gambar yang sama, beberapa kali. PDF sering merujuk satu XObject gambar dari beberapa halaman. v1 mengekstrak gambar sekali per panggilan paintImageXObject, jadi logo yang diduplikasi akan muncul sekali per penggunaan. Deduplikasi berdasarkan nama file atau hash jika diperlukan.
  • PDF terenkripsi. PDF yang dilindungi kata sandi tidak dapat dibuka tanpa kata sandi. Jalankan melalui /pdf-unlock terlebih dahulu jika Anda memiliki kata sandi pemilik.
  • PDF sangat besar. Setiap gambar yang diekstrak tetap ada di memori browser sampai Anda membersihkan atau pergi. PDF dengan ratusan gambar resolusi tinggi dapat menggunakan ratusan MB RAM. Gunakan unduhan .zip dengan segera dan klik Bersihkan saat selesai.
Pertanyaan yang sering diajukan

Mengapa gambar saya PNG, bukan JPG?

PNG mempertahankan transparansi dan menghindari artefak pengkodean ulang. Pikselnya sama dengan aslinya; filenya lebih besar karena PNG tanpa kehilangan. Untuk menghemat ruang, jalankan hasilnya melalui /image-compress dalam mode WebP.

Bagaimana cara mengetahui dari halaman mana setiap gambar berasal?

Nama file mengikuti pola `pageN-imgM.png` — N adalah nomor halaman sumber, M adalah nomor urut dalam halaman tersebut. Urutkan berdasarkan nama file untuk melihat urutan kemunculannya di PDF.

Apakah gambar terenkripsi akan keluar acak?

Data gambar di dalam PDF yang tidak terenkripsi tidak dienkripsi secara terpisah — dekode normal. Jika PDF itu sendiri dienkripsi, alat tidak dapat membacanya sama sekali (lihat catatan PDF terenkripsi di atas).

Mengapa hitungannya lebih tinggi dari gambar yang terlihat?

Beberapa PDF menggunakan beberapa XObjects gambar per gambar yang terlihat (mis. saluran alfa soft-mask yang disimpan sebagai gambar grayscale terpisah). v1 mengekstrak masing-masing — soft-mask adalah yang membuat gambar utama terlihat benar saat dikomposit, tetapi sendirian tampak seperti siluet hitam-putih.

Apakah PDF saya diunggah?

Tidak. Semua berjalan di browser Anda — PDF Anda diurai oleh pdfjs-dist dan bitmap gambar dirender melalui canvas, semua di sisi klien. Tidak ada permintaan jaringan yang dilakukan.

Seberapa besar PDF yang dapat saya ekstrak?

Hingga sekitar 100 MB PDF sebelum browser mulai terasa lambat. Batas keras adalah memori tab Anda — jika ekstraksi OOM, bagi PDF melalui /pdf-split dan jalankan setiap bagian secara terpisah.