47

В настоящее время я использую программу чтения PDF от Foxit, и недавно я загрузил изображение из Интернета, но оно находится внутри файла PDF. Как мне извлечь это изображение?

Операционная система Windows 7.

9 ответов9

68

Если вы загрузите 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 как prefix-00N.jpg, а все остальные изображения как prefix-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» = последний).


Обновить:

В то же время я предпочитаю версию Poppler по pdfimages - тем более , что она приобрела эту новую функцию: добавить -list в командную строку для того , чтобы просто список (не извлекать) образы , содержащиеся в PDF, а также некоторые их свойства. Пример:

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

  page   num  type   width height color comp bpc  enc interp  object ID
  ---------------------------------------------------------------------
     7     0 image     581   838  rgb     3   8  jpeg   no        39  0
     7     1 image       4     4  rgb     3   8  image  no        40  0
     7     2 image     314   332  rgb     3   8  jpx    no        44  0
     7     3 image     358   430  rgb     3   8  jpx    no        45  0
     7     4 image       4     4  rgb     3   8  image  no        46  0
     7     5 image       4     4  rgb     3   8  image  no        47  0
     7     6 image       4     6  rgb     3   8  image  no        48  0
     7     7 image     596   462  rgb     3   8  jpx    no        49  0
     7     8 image       4     6  rgb     3   8  image  no        50  0
     7     9 image       4     4  rgb     3   8  image  no        51  0
     7    10 image       8    10  rgb     3   8  image  no        41  0
     7    11 image       6     6  rgb     3   8  image  no        42  0
     7    12 image     113    27  rgb     3   8  jpx    no        43  0
     8    13 image     582   839  gray    1   8  jpeg   no      2080  0
     8    14 image     344   364  gray    1   8  jpx    no      2079  0

Отметим еще раз: эта версия pdfimages является один из Poppler (один из Xpdf нет (пока)? поддерживать эту новую функцию), и версия должна быть v0.20.2 или новее.

7

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

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

5

Без установки какого-либо программного обеспечения вы можете переключиться на PDF-XChange Viewer (выберите Portable Version), в который эта возможность уже встроена

  • экспортирует все или выбранные страницы как изображение
  • Выходной формат: PNG, JPG, TIFF, BMP
  • выберите DPI, уровень сжатия, оттенки серого
  • можно сохранить несколько страниц в виде многостраничного TIFF


    нажмите, чтобы увеличить


Помните, что хотя этот метод преобразует целые страницы PDF в изображения, метод, описанный @Laurenz с использованием Sumatra PDF , лучше, если вы хотите извлечь изображения из страницы PDF со смешанным содержимым (изображение + текст), чтобы получить только изображение.

4

Быстрый способ, если вам не требуется оригинальное разрешение изображения в пикселях, - это просто нажать кнопки ALT и Print Screen. Затем выберите пасту, где вы хотите изображение.

Другой способ сохранить разрешение - открыть PDF-файл в программе для редактирования изображений, например Adobe Photoshop, и работать с ним там.

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"

Вы можете получить его здесь для Windows:http://blog.alivate.com.au/poppler-windows/

Он также доступен в Linux.

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» для извлечения сжатого растрового изображения без потерь в виде .png и сжатого растрового изображения с потерями в виде .jpg, поэтому просто:

$ pdfimages -all fileName.pdf fileName

извлекать всегда лучший качественный контент из PDF

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .