Mengekstrak gambar yang disematkan dari PDF


165

Sebelum saya mulai menggunakan Ubuntu saya menggunakan Nitro PDF reader untuk secara otomatis mengekstrak gambar dari file PDF. Apakah ada pembaca PDF untuk Linux yang melakukan ini?

Saya ingin dapat mengekstraksi gambar lebih cepat / lebih mudah daripada saat mengambil foto.


Bisakah Anda mengingat seberapa baik NitroPDF dapat lakukan dengan gambar vektor? Bisakah pdfimagesmelakukannya lebih baik / lebih buruk daripada NitroPDF?
Léo Léopold Hertz 준영


2
@ funky-future Jelas kedua pertanyaan ini adalah duplikat tetapi target duplikat Anda hanya memiliki dua jawaban dan salah satu dari dua jawaban ini adalah jawaban spam, jadi arah duplikasi harus dibalik untuk menyimpan pertanyaan ini agar tidak dipalu oleh dupe hammer.
karel

Jawaban:


197

Menggunakan pdfimages

pdfimages adalah alat ekstraktor gambar PDF yang menyimpan gambar dalam file PDF ke format PPM, PBM, JPEG atau JPEG 2000.

Itu adalah bagian dari poppler-utilspaket, yang harus Anda pasang.

Pemakaian: pdfimages [options] <PDF-file> <image-root>

Contoh: Berikut ini mengekstrak semua gambar dari file PDF, menyimpannya dalam format JPEG.

pdfimages -j in.pdf /tmp/out

Akan menyimpan gambar dari file PDF in.pdfdalam file /tmp/out-000.jpg(atau /tmp/out-000.pbm; lihat di bawah) /tmp/out-001.jpg,, dll.


Halaman manual pdfimages menjelaskan:

-j:  Normally, all images are written as PBM (for monochrome images) or PPM for
     non-monochrome images) files. With this option,  images in DCT format are
     saved as JPEG files. All non-DCT images are saved in PBM/PPM format as usual.

8
Alangkah baiknya memiliki solusi yang mengekstraksi gambar dalam format aslinya. Mengkode ulang JPEG sebenarnya tidak ideal.
Christian

32
@Christian from man page-all Write JPEG, JPEG2000, JBIG2, and CCITT images in their native format. CMYK files are written as TIFF files. All other images are written as PNG files. This is equivalent to specifying the options -png -tiff -j -jp2 -jbig2 -ccitt.
wil93

2
Harap dicatat bahwa -allsakelar ini hanya didukung dalam revisi poppler-utils terbaru. Misalnya, jika Anda masih menggunakan 12,04, Anda tidak akan dapat mengakses opsi ini
Glutanimate

1
Jika Anda tidak dapat menggunakan -allgo untuk format PNM. Mereka tidak rugi, dan Anda dapat memposting gambar misalnya ke PNG.
Tomasz Gandor

1
@Christian, gunakan $ pdfimages -list <PDF-file>untuk memeriksa format asli di kolom "enc", jadi Anda tidak perlu menyandikan ulang gambar ke format lain.
Jose Barakat

24

Saya sering menggunakan Inkscape untuk ini. Muat halaman, dan hapus semua hal lainnya. Keuntungannya adalah Anda bisa mendapatkan gambar vektor dalam SVG dan memodifikasinya sesuai pilihan Anda.


Beberapa PDF hanya dapat diimpor dengan benar dengan impor internal Inkscape (poppler / cairo import atau pdfimage tidak dapat menguraikannya dengan benar). Setelah diimpor, salin & tempel gambar ke file baru dan ubah ukuran halaman untuk memilih graphicdesign.stackexchange.com/a/21638/95041
sdaffa23fdsf

Tidak masalah bagi saya, itu solusi terbaik, perhatikan bahwa Anda harus memilih satu halaman sekaligus!
Jimmy Olano

5

Saya memiliki file PDF dua kolom dengan gambar tertanam yang dibuat dengan LaTeX di mana gambar asli disediakan sebagai EPS. Saya mencoba solusi yang diusulkan berdasarkan pdfimages, tetapi sayangnya, tidak mengembalikan gambar. Saya kemudian mencoba menggunakan Inkscape, tetapi gambar SVG yang dihasilkannya terdistorsi dan saya juga tidak beruntung mengekspornya sebagai EPS.

Perangkat lunak yang berfungsi untuk kami adalah MasterPdfEditor .

Inilah prosedurnya

  • Buka file Anda menggunakan Master PDF Editor
  • Gunakan alat edit (Alt + 1) untuk memilih gambar yang perlu Anda ekstrak
  • Salin gambar (Ctrl + C)
  • Klik pada bingkai putus-putus di sekitar gambar dan periksa bilah sisi kanan (Object Inspector) dan klik "Geomerty". Di sana Anda dapat melihat ukuran pilihan Anda
  • Buat file baru (Ctrl + N). Ini akan meminta Anda untuk memberikan ukuran halaman. Berikan ukuran persis gambar Anda dan buat file baru
  • Sekarang agak sulit: tempel gambar (Ctrl + V). Gambar mungkin tidak ditampilkan di file baru. Gunakan panah untuk memindahkannya sampai Anda dapat melacaknya.
  • Gunakan panah untuk memusatkan gambar di halaman baru
  • Simpan sebagai PDF

Hasilnya berkualitas sangat tinggi, tetapi perangkat lunaknya tidak gratis. Ada versi demo yang "memungkinkan Anda untuk mencoba semua fitur," tetapi dilengkapi dengan "penambahan tanda air pada file output." Sejujurnya, saya tidak melihat tanda air di PDF yang diproduksi.


Ini Tanya Ubuntu ... Kami menyukai open source di sini dan solusi Anda adalah solusi komersial sumber tertutup ... Bagaimana ini lebih baik daripada jawaban yang sudah diunggulkan? (-1 dalam waktu rata-rata)
Fabby

3
@ Fabby Terima kasih atas umpan baliknya. Saya tidak tahu tentang itu. Apakah ada aturan seperti itu pada askubuntu.com? Namun, segera setelah Anda membuka pusat perangkat lunak Ubuntu , Anda mendapatkan saran untuk aplikasi yang tidak bebas.
Pantelis Sopasakis

Tidak, tidak ada "aturan" dan itulah sebabnya saya tidak memilih untuk menghapus jawaban ini, tetapi ada alat yang lebih baik yang gratis (seperti bir gratis dan kebebasan berbicara) jadi itu hanya pendapat.
Fabby

1
+1. Saya telah menggunakan command-line ImageMagick, tetapi ini adalah solusi menarik untuk seseorang yang mencari GUI.
rpmcruz

2
Ini bekerja untuk sebagian orang, itu cukup bagus. Jangan menjadi seorang nazi .... Saya tidak tahu siapa "kita". Anda dapat berbicara hanya untuk diri sendiri. +1 untuk jawabannya
sdaffa23fdsf

4

Anda juga dapat mencoba pdfmod. Ini adalah GUI (antarmuka grafis) yang dapat mengekstraksi gambar dan melakukan manipulasi pdf dasar lainnya.


Hmm, sepertinya agak buggy bagiku. Dimasukkan PDF dengan gambar terutama ungu dan mendapat gambar kehijauan.
DBX12

2

Jika yang Anda butuhkan adalah gambar yang dipotong dalam format pdf / eps, kemudian ekstrak halaman dengan gambar menggunakan pdfmod(seperti yang disarankan oleh To Do).

Kemudian menggunakan pdfcropAnda dapat memotongnya dengan benar mengatur margin dengan coba-coba:

pdfcrop --margins "-15 -50 0 -140" extracted_page.pdf

1

Saya menggunakan pdfimages yang merupakan alat baris perintah dan ini berfungsi baik untuk saya. Sangat mudah digunakan dan Anda dapat menggunakan opsi --help untuk mempelajari lebih lanjut tentang penggunaannya. Saya menggunakan Ubuntu dan sudah diinstal sebelumnya. Jika file pdf Anda dienkripsi atau dilindungi kata sandi ada opsi untuk itu, jadi alat ini berfungsi dengan baik. Anda dapat membaca lebih lanjut tentang pdfimages di sini


4
Harap baca jawaban lain sebelum memposting jawaban Anda. Perhatikan ada yang lain yang membahas hal ini.
edwin

Ok, maaf :) Saya berpikir untuk memposting milik saya karena memiliki beberapa info tentang file pdf yang dilindungi kata sandi dan saya menjelaskan bahwa alat ini memiliki opsi ini, ditambah lagi saya memposting tautan yang merupakan tutorial tentang alat ini.
jetbird13

Jika Anda mendapatkan reputasi yang cukup, Anda dapat mengomentari jawaban orang lain atau meningkatkannya.
edwin

1

Dengan pdfimages gambar yang diekstraksi dapat dalam dua atau lebih bagian. Cara sederhana untuk menyatukannya kembali tanpa khawatir tentang format yang diekstraksi adalah mengimpor bagian-bagian ke dalam LibreOffice Draw, memotong dengan dialog pemotongan gambar, memposisikan bagian-bagian, menyesuaikan ukuran halaman dan mengekspor dalam format apa pun yang Anda inginkan.


1

Jika Anda ingin memotong gambar dari pdf dengan pdfviewer, Anda dapat mencoba okular. Itu dapat memotong apa saja (teks atau gambar) dalam format png atau jpeg. Jika Anda ingin mengekstraksi gambar dalam format png dari pdf, Anda dapat melakukannya dengan perintah minimal dengan pdftohtml. Itu mengkonversi pdf ke html plus gambar. Di sini Anda dapat menemukan contoh - https://www.youtube.com/watch?v=CG1rf7k3xo8 . Jika Anda ingin mengekstraksi banyak gambar dari pdf, saya sarankan Anda untuk mencoba ini.


0

Perangkat lunak yang digunakan: Xreader OS: Antergos

Langkah:

  1. Buka PDF
  2. Klik kanan pada gambar
  3. Pilih Simpan Gambar Sebagai ..
  4. Masukkan nama file dan ekstensi.
  5. Menyimpan.
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.