Як витягти зображення з PDF-файлу


49

Зараз я використовую PDF-зчитувач Foxit, і нещодавно я завантажив зображення з Інтернету, але воно знаходиться всередині PDF-файлу. Як витягти це зображення?

Операційною системою є Windows 7.


Ваша найвища якість буде вилученням у будь-який формат, зображення вже зберігається у форматі PDF. (принаймні, я думаю, саме так працюють зображення-в-pdfs.)
шарлатаний кіхот

Відповіді:


4

Швидкий спосіб, якщо вам не потрібна оригінальна роздільна здатність пікселя зображення, - це просто натиснути кнопки ALT та Print Screen. Тоді вибирайте вставити куди завгодно зображення.

Інший спосіб зберегти роздільну здатність - відкрити PDF у програмі для редагування зображень, такої як Adobe Photoshop, та працювати з ним.


1
Відкриття документа PDF у Photoshop призводить до появи діалогового вікна "Растеризація загального формату PDF", тому роздільну здатність не можна зберегти. Тестували за допомогою PS7. Чи відрізняються новіші версії Photoshop?
AffineMesh

1
як ви вже говорили, [alt] + [prnscr] не зберігає вихідну роздільну здатність пікселів (вона використовує будь-яку роздільну здатність, яку використовує ваш поточний екран / монітор).
Курт Пфайфл

1
@studiohack, @UserSuUserDo: Ви не тільки пропустите оригінальну роздільну здатність, якщо будете використовувати [alt] + [prnscr], але отримаєте повне вікно перегляду PDF у вигляді зображення. Це може бути "досить добре" для багатьох випадків використання. Але іноді потрібно, щоб графіка була вбудована лише у сторінку PDF. Тут pdfimages.exeстане в нагоді.
Курт Пфайфл

1
Або скористайтеся інструментом для чищення, вбудованим у W7, щоб захопити потрібну область.
Моав

70

Якщо ви завантажите XPDF для Windows ( тут ), ви знайдете все .exe-файли всередині. Ви можете запустити їх без "встановлення". Використовуйте pdfimages.exeтак:

pdfimages.exe -help

Це відобразить екран довідки.

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

Це витягує всі JPEG як префікс-00N.jpg, а всі інші зображення як префікс-00N.ppm (Portable PixMap).

[ Редагувати ComFreek: Будь ласка, зверніть увагу на прорізну косу рису в шляху призначення, що важливо, якщо ви не хочете витягувати всі зображення в його батьківський каталог.] -
{ Редагувати KurtPfeifle: Я не згоден з коментарем ComFreek, але залиште читачам слід перевірити та з’ясувати самі відмінності в результатах. Мій оригінальний параметр, який не використовує косу рису, як ..\prefixбуде префіксувати назви зображень, які використовуються для вилучених файлів.}

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

Те саме, що і раніше, але обмежує витяг зображення на сторінки 11 ('f' = перша) до 13 ('l' = остання).


Оновлення:

Тим часом я віддаю перевагу версії Popplerpdfimages - тим більше, що вона набула цієї нової функції: додайте -listдо командного рядка, щоб просто перелічити (не витягнути) зображення, що містяться в PDF, а також деякі їх властивості. Приклад:

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

  число сторінки тип ширина висота колір comp bpc enc інтерфейс ідентифікатора об'єкта
  -------------------------------------------------- -------------------
     7 0 зображення 581 838 rgb 3 8 jpeg no 39 0
     7 1 зображення 4 4 rgb 3 8 зображення № 40 0
     7 2 зображення 314 332 rgb 3 8 jpx no 44 0
     7 3 зображення 358 430 rgb 3 8 jpx no 45 0
     7 4 зображення 4 4 rgb 3 8 зображення № 46 0
     7 5 зображення 4 4 rgb 3 8 зображення № 47 0
     7 6 зображення 4 6 rgb 3 8 зображення № 48 0
     7 7 зображення 596 462 rgb 3 8 jpx no 49 0
     7 8 зображення 4 6 rgb 3 8 зображення no 50 0
     7 9 зображення 4 4 rgb 3 8 зображення № 51 0
     7 10 зображення 8 10 rgb 3 8 зображення № 41 0
     7 11 зображення 6 6 rgb 3 8 зображення № 42 0
     7 12 зображення 113 27 rgb 3 8 jpx no 43 0
     8 13 зображення 582 839 сірий 1 8 jpeg no 2080 0
     8 14 зображення 344 364 сірий 1 8 jpx № 2079 0

Зверніть увагу ще раз: ця версія pdfimagesє однією з Poppler (один з Xpdf ніяк НЕ (поки) підтримують цю нову функцію?), А версія повинна бути v0.20.2 або вище.


1
@harlev: Google для ImageMagick . У ньому є інструмент командного рядка, який може перетворити все, що завгодно convert. Доступно для Linux, Windows, MacOS X та що у вас є. Найпростіший випадок використання для вас: convert some.ppm some.jpeg.
Курт Пфайфл

3
Примітка: XPDF не так активно підтримується, як бібліотека poppler, яка розщедрилася від неї деякий час тому. Poppler також забезпечує pdfimages, і деякі люди можуть скористатися цим.
MvG

1
@BurhanKhalid: Попередньо створені бінарні файли тут: sourceforge.net/projects/poppler-win32
Kurt Pfeifle

2
@KurtPfeifle На жаль, вони взагалі не містять файлів EXE.
Кріс

3
Я знаю, що це старе, але просто хотів поділитися, якщо хтось шукає файли бінарних файлів Windows, ви можете отримати їх тут blog.alivate.com.au/poppler-windows
Aivan Monceller

8

Ви можете спробувати імпортувати PDF в Inkscape і працювати звідти. Inkscape відкриє лише одну сторінку одночасно, але надасть вам повний контроль над вмістом сторінки. Ви зможете досить легко витягувати та маніпулювати векторною графікою з PDF.

Однак якщо ви хочете витягти растрові зображення з PDF, я впевнений, що pdfimagesз XPDF це простіше (але ви все одно можете спробувати використовувати Inkscape, дізнавшись, як витягувати вбудовані зображення з SVG-файлів ).


GIMP ( gimp.org ) - ще один інструмент графічного дизайну, який може імпортувати та маніпулювати PDF-файлами. Не впевнений, однак, наскільки GIMP контрастні можливості з Inkscape.
coderworks

@coderworks: GIMP розпорошить імпортовану сторінку PDF в задану роздільну здатність. Іншими словами, це трохи краще, ніж використовувати "Print Screen". З іншого боку Inkscape збереже вихідні векторні дані, а також оригінальні растрові зображення.
Denilson Sá Maia

5

Не встановлюючи жодного програмного забезпечення, ви можете перейти на PDF-XChange Viewer (виберіть портативну версію ), яка вже має вбудовану здатність

  • експортує всі або вибрані сторінки як зображення
  • формат виводу: PNG, JPG, TIFF, BMP
  • виберіть DPI, рівень стиснення, сіру шкалу
  • може зберегти кілька сторінок як багатосторінковий TIFF

    введіть тут опис зображення

    введіть тут опис зображення
    натисніть для збільшення


Будь ласка, майте на увазі, поки цей метод перетворює цілі сторінки PDF у зображення, метод, пояснений від @Laurenz за допомогою Суматри PDF, є кращим, якщо ви бажаєте витягувати зображення зі сторінки PDF зі змішаним вмістом (зображення + текст), щоб отримати лише зображення.


2
@MarkSeemann Я не можу слідувати. "Без встановлення будь-якого програмного забезпечення" означає в цьому контексті наявність доступної портативної версії. Переносне програмне забезпечення не можна було "встановити" за визначенням. Ви просто завантажуєте, витягуєте та запускаєте його.
nixda

3
Те, що вам потрібно "Вибрати DPI", перемагає мету. Ви змінюєте розмір растрових зображень (масив пікселів), а будь-яке розмір растрового зображення призводить до втрати якості та інформації.
антоній

конвертувати файли PPM в png чи jpeg?
Кікенет

4

Sumatra PDF - це швидкий і легкий зчитувач PDF з відкритим кодом, який може копіювати зображення безпосередньо у буфер обміну, без будь-якої повторної растерізації.


3

MuPDF - це нова (створена в 2006 році) мультиплатформна програма для перегляду PDF (настільних та мобільних пристроїв), випущена за ліцензією AGPL. Його підтримують ті самі люди Ghostscript .

Він містить інструмент командного рядка для отримання зображень із PDF:

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

Команда витягу може використовуватися для витягування зображень та файлів шрифтів з PDF. Якщо в командному рядку не вказані номери об'єктів, всі зображення та шрифти будуть вилучені.

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

-r     Convert images to RGB when extracting them.

2

використання pdftocairoвід poppler toolkit. Він може витягувати та конвертувати зображення PDF у будь-який бажаний формат. Він завжди генерує зображення і ніколи не генерує ppm чи якісь подібні коси. Наступна команда приховає сторінки PDF у jpg-образи з нього:

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

Ви можете отримати його тут для вікон: http://blog.alivate.com.au/poppler-windows/

Він доступний і в Linux.


Ця команда НЕ ЕКСТРАКТУє зображення, вбудовані в PDF (як вимагає ОП). Замість цього КОНВЕРТУЄ повний PDF-сторінки у формати зображень. Ця відповідь не відповідає заданому питанню.
Курт Пфайфл

1

http://www.sumnotes.net/ - це онлайн-інструмент для вилучення приміток, яскравих зображень та зображень. Я широко використовував його в університеті для своєї дипломної роботи і був дуже задоволений.


Комерційний з обмеженою безкоштовною пробною версією. Це також Інтернет, тобто конфіденційність не може бути гарантована!
антоні

-1

як правило, я витягую вбудоване зображення з 'pdfimages' за рідною роздільною здатністю, а потім використовую перетворення ImageMagick у потрібний формат:

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

це генерує найкращий і найменший файл результатів.

Примітка. Для вбудованих зображень, вкладених у JPG, вам довелося використовувати -j:

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

На мало забезпеченій платформі Win вам довелося завантажити останній (0.37, 2015) двійковий файл "poppler-util" з: http://blog.alivate.com.au/poppler-windows/

ОНОВЛЕННЯ: В останній версії "poppler-util" 0,50+ (2016) у pdfunite є опція "-all", щоб витягти без стиснених растрових зображень без втрат, як.

$ pdfimages -all fileName.pdf fileName

витягуйте завжди найкращий якісний вміст з PDF


Раніше був у відповіді Курта Пфайфла.
daniel.neumann
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.