Cara mengekstrak gambar dari file PDF

49

Saat ini saya menggunakan pembaca PDF Foxit, dan saya baru-baru ini mengunduh gambar dari Internet, tetapi itu ada di dalam file PDF. Bagaimana cara mengekstrak gambar ini?

Sistem operasinya adalah Windows 7.

studiohack
sumber
ekstraksi kualitas tertinggi Anda akan mengekstraksi ke format apa pun gambar sudah disimpan dalam pdf. (setidaknya saya pikir itulah cara kerja images-in-pdfs.)
quack quixote

Jawaban:

4

Cara cepat jika Anda tidak memerlukan resolusi piksel asli dari gambar adalah dengan hanya menekan tombol ALT dan Print Screen. Kemudian pilih tempel di mana pun Anda ingin gambar.

Cara lain untuk mempertahankan resolusi adalah dengan membuka PDF dalam program pengeditan gambar seperti Adobe Photoshop dan bekerja dengannya di sana.

UserSuUserDo
sumber
1
Membuka dokumen PDF di Photoshop menyebabkan dialog 'Rasterize Generic PDF Format' muncul, sehingga resolusi tidak dapat dipertahankan. Diuji dengan PS7. Apakah versi Photoshop yang lebih baru berbeda?
AffineMesh
1
seperti yang Anda katakan, [alt] + [prnscr] tidak mempertahankan resolusi piksel asli (menggunakan resolusi apa pun yang digunakan layar / monitor Anda saat ini).
Kurt Pfeifle
1
@studiohack, @UserSuUserDo: Anda tidak hanya akan kehilangan resolusi asli jika Anda menggunakan [alt] + [prnscr], tetapi Anda akan mendapatkan jendela penampil PDF lengkap sebagai gambar. Ini mungkin 'cukup baik' untuk banyak kasus penggunaan. Tetapi kadang-kadang Anda ingin grafik seperti yang tertanam di halaman PDF saja. Ini pdfimages.exeberguna.
Kurt Pfeifle
1
Atau gunakan alat snipping yang ada di W7 untuk menangkap area yang Anda inginkan.
Moab
70

Jika Anda mengunduh XPDF untuk Windows (di sini ), Anda akan menemukan beberapa file .exe di dalamnya. Anda dapat menjalankannya tanpa "instalasi". Gunakan pdfimages.exeseperti ini:

pdfimages.exe -help

Ini menampilkan layar bantuan.

pdfimages.exe ^
    -j ^
    c:\path\to\your.pdf ^
    c:\path\to\where\you\want\images\prefix\

Ini mengekstrak semua JPEG sebagai awalan-00N.jpg, dan semua gambar lainnya sebagai awalan-00N.ppm (Portable PixMap).

[ Sunting oleh ComFreek: Harap perhatikan garis miring di jalur tujuan, yang penting jika Anda tidak ingin mengekstrak semua gambar ke direktori induknya.] -
{ Sunting oleh KurtPfeifle: Saya tidak setuju dengan komentar ComFreek, tetapi tinggalkan kepada pembaca untuk menguji dan menemukan perbedaan dalam hasil itu sendiri. Parameter asli saya, tidak menggunakan garis miring, karena ..\prefixakan mengawali nama gambar yang digunakan untuk file yang diekstraksi.}

pdfimages.exe ^
    -j ^
    -f 11 ^
    -l 13 ^
    c:\path\to\your.pdf ^
    c:\path\to\where\you\want\images\prefix\

Sama seperti sebelumnya, tetapi membatasi ekstraksi gambar ke halaman 11 ('f' = pertama) hingga 13 ('l' = terakhir).


Memperbarui:

Sementara itu saya lebih suka versi Popplerpdfimages - terutama karena memperoleh fitur baru ini: tambahkan -listke commandline untuk hanya daftar (bukan mengekstrak) gambar yang terkandung dalam PDF, ditambah beberapa propertinya. Contoh:

pdfimages -daftar -f 7 -l 8 ct-magazin-14-2012.pdf

  jenis halaman num warna tinggi lebar comp bpc enc objek interp ID
  -------------------------------------------------- -------------------
     7 0 gambar 581 838 rgb 3 8 jpeg no 39 0
     7 1 gambar 4 4 rgb 3 8 gambar no 40 0
     7 2 gambar 314 332 rgb 3 8 jpx no 44 0
     7 3 gambar 358 430 rgb 3 8 jpx no 45 0
     7 4 gambar 4 4 rgb 3 8 gambar no 46 0
     7 5 gambar 4 4 rgb 3 8 gambar no 47 0
     7 6 gambar 4 6 rgb 3 8 gambar no 48 0
     7 7 gambar 596 462 rgb 3 8 jpx no 49 0
     7 8 gambar 4 6 rgb 3 8 gambar no 50 0
     7 9 gambar 4 4 rgb 3 8 gambar no 51 0
     7 10 gambar 8 10 rgb 3 8 gambar no 41 0
     7 11 gambar 6 6 rgb 3 8 gambar no 42 0
     7 12 gambar 113 27 rgb 3 8 jpx no 43 0
     8 13 gambar 582 839 abu-abu 1 8 jpeg no 2080 0
     8 14 gambar 344 364 abu-abu 1 8 jpx no 2079 0

Catatan lagi: versi ini pdfimagesadalah yang dari Poppler (yang dari XPDF tidak (belum?) Mendukung fitur baru ini), dan versinya harus v0.20.2 atau lebih baru.

Kurt Pfeifle
sumber
1
@harlev: Google untuk ImageMagick . Ini memiliki alat commandline yang dapat mengkonversi apa pun menjadi apa pun yang disebut convert. Tersedia untuk Linux, Windows, MacOS X dan apa pun yang Anda miliki. Kasus penggunaan termudah untuk Anda: convert some.ppm some.jpeg.
Kurt Pfeifle
3
Catatan: XPDF tidak dikelola secara aktif seperti perpustakaan poppler yang bercabang beberapa waktu lalu. Poppler juga menyediakan pdfimages, dan beberapa orang mungkin lebih suka menggunakan itu.
MvG
1
@ BurhanKhalid: Binari pra-bangun ada di sini: sourceforge.net/projects/poppler-win32
Kurt Pfeifle
2
@KurtPfeifle Sayangnya itu tidak mengandung file exe sama sekali.
Chris
3
Saya tahu ini sudah tua tetapi hanya ingin berbagi jika ada yang mencari binari windows Anda bisa mendapatkannya di sini blog.alivate.com.au/poppler-windows
Aivan Monceller
8

Anda dapat mencoba mengimpor PDF ke Inkscape , dan bekerja dari sana. Inkscape hanya akan membuka satu halaman pada satu waktu, tetapi akan memberi Anda kontrol penuh atas konten halaman. Anda akan dapat mengekstraksi dan memanipulasi grafik vektor dari PDF dengan cukup mudah.

Namun, jika Anda ingin mengekstrak gambar raster dari PDF, saya cukup yakin pdfimagesdari XPDF lebih mudah (tetapi Anda masih dapat mencoba menggunakan Inkscape setelah mempelajari cara mengekstrak gambar yang disematkan dari file SVG ).

Denilson Sa Maia
sumber
GIMP ( gimp.org ) adalah alat desain grafis lain yang dapat mengimpor dan memanipulasi PDF. Namun tidak yakin bagaimana kemampuan GIMP kontras dengan yang ada di Inkscape.
coderworks
@coderworks: GIMP akan merasterisasi halaman PDF yang diimpor ke dalam resolusi yang diberikan. Dengan kata lain, ini sedikit lebih baik daripada menggunakan "Print Screen". Inkscape, di sisi lain, akan menyimpan data vektor asli serta gambar raster asli.
Denilson Sá Maia
5

Tanpa menginstal perangkat lunak apa pun, Anda dapat beralih ke PDF-XChange Viewer (pilih Versi Portabel ) yang memiliki kemampuan ini sudah built-in

  • mengekspor semua atau halaman yang dipilih sebagai gambar
  • format output: PNG, JPG, TIFF, BMP
  • pilih DPI, level kompresi, skala abu-abu
  • dapat menyimpan banyak halaman sebagai TIFF multi-halaman

    masukkan deskripsi gambar di sini

    masukkan deskripsi gambar di sini
    klik untuk memperbesar


Perlu diketahui saat metode ini mengubah seluruh halaman PDF menjadi gambar, metode yang dijelaskan dari @Laurenz menggunakan Sumatra PDF lebih unggul jika Anda ingin mengekstraksi gambar dari halaman PDF dengan konten campuran (gambar + teks) untuk hanya mendapatkan gambar.

nixda
sumber
2
@ Markarkeemann saya tidak bisa mengikuti. "Tanpa menginstal perangkat lunak apa pun" berarti dalam konteks ini tersedia versi portabel. Perangkat lunak portabel tidak dapat "diinstal" per definisi. Anda cukup mengunduh, mengekstrak, dan memulainya.
nixda
3
Fakta bahwa Anda perlu "Memilih DPI" mengalahkan tujuannya. Anda mengubah ukuran gambar raster (array piksel), dan ukuran apa pun dari gambar raster akan mengakibatkan hilangnya kualitas dan informasi.
anthony
mengkonversi file PPM ke png atau jpeg?
Kiquenet
4

Sumatra PDF adalah pembaca PDF sumber terbuka cepat dan ringan yang dapat menyalin gambar langsung ke clipboard, tanpa rasterisasi ulang.

Laurenz
sumber
3

MuPDF adalah penampil PDF multiplatform (desktop dan seluler) baru (dibuat pada 2006) yang dirilis di bawah lisensi AGPL. Itu dikelola oleh orang yang sama dengan Ghostscript .

Ini berisi alat baris perintah untuk mengekstrak gambar dari PDF:

mutool extract [options] file.pdf [object numbers]

Perintah ekstrak dapat digunakan untuk mengekstraksi file gambar dan font dari PDF. Jika tidak ada nomor objek yang diberikan pada baris perintah, semua gambar dan font akan diekstraksi.

-p password
       Use the specified password if the file is encrypted.

-r     Convert images to RGB when extracting them.
Denilson Sa Maia
sumber
2

gunakan pdftocairodari poppler toolkit. Ia dapat mengekstraksi dan mengonversi gambar pdf ke format apa pun yang diinginkan. Itu selalu menghasilkan gambar dan tidak pernah menghasilkan ppm atau beberapa omong kosong seperti itu. Perintah berikut rahasia halaman pdf ke gambar jpg itu:

pdftocairo.exe -jpeg "my.pdf" "my"

Anda bisa mendapatkannya dari sini untuk windows: http://blog.alivate.com.au/poppler-windows/

Ini tersedia di Linux juga.

MSS
sumber
Perintah ini TIDAK MENYEBUTKAN gambar yang tertanam dalam PDF (seperti yang diminta OP). Sebaliknya itu MENGONVERSI halaman PDF lengkap ke format gambar. Jawaban ini tidak cocok dengan pertanyaan yang diajukan.
Kurt Pfeifle
1

http://www.sumnotes.net/ adalah alat online untuk mengekstrak catatan, sorotan, dan gambar. Saya menggunakannya secara luas di universitas untuk tesis saya dan saya benar-benar puas.

Timotius
sumber
Komersial dengan uji coba gratis terbatas. Ini juga Online, artinya privasi tidak dapat dijamin!
anthony
-1

biasanya saya mengekstrak gambar yang disematkan dengan 'pdfimages' pada resolusi asli, lalu menggunakan konversi ImageMagick ke format yang diperlukan:

$ pdfimages -list fileName.pdf
$ pdfimages fileName.pdf fileName   # save in .ppm format
$ convert fileName-000.ppm fileName-000.png

ini menghasilkan file hasil terbaik dan terkecil.

Catatan: Untuk gambar tersemat JPG yang hilang, Anda harus menggunakan -j:

$ pdfimages -j fileName.pdf fileName   # save in .jpg format

Pada sedikit platform Win yang disediakan, Anda harus mengunduh biner 'poppler-util' terbaru dari (0,37, 2015) dari: http://blog.alivate.com.au/poppler-windows/

UPDATE: Pada "poppler-util" baru-baru ini 0,50+ (2016), pdfunite memiliki opsi "-all" untuk mengekstrak bitmap terkompresi lossless sebagai .png dan lossmap bitmap terkompresi sebagai .jpg, jadi sederhana:

$ pdfimages -all fileName.pdf fileName

ekstrak selalu konten berkualitas terbaik dari PDF

Valerio
sumber
Sebelumnya dalam jawaban Kurt Pfeifle.
daniel.neumann