В настоящее время я использую программу чтения PDF от Foxit, и недавно я загрузил изображение из Интернета, но оно находится внутри файла PDF. Как мне извлечь это изображение?
Операционная система Windows 7.
В настоящее время я использую программу чтения PDF от Foxit, и недавно я загрузил изображение из Интернета, но оно находится внутри файла PDF. Как мне извлечь это изображение?
Операционная система Windows 7.
Если вы загрузите 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 или новее.
Вы можете попробовать импортировать PDF-файл в Inkscape и работать оттуда. Inkscape будет открывать только одну страницу за раз, но даст вам полный контроль над содержимым страницы. Вы сможете легко извлекать и управлять векторной графикой из PDF.
Однако, если вы хотите извлечь растровые изображения из PDF, я уверен, что pdfimages
из XPDF проще (но вы все равно можете попробовать использовать Inkscape после того, как узнаете, как извлекать встроенные изображения из файлов SVG).
Без установки какого-либо программного обеспечения вы можете переключиться на PDF-XChange Viewer (выберите Portable Version), в который эта возможность уже встроена
можно сохранить несколько страниц в виде многостраничного TIFF
Помните, что хотя этот метод преобразует целые страницы PDF в изображения, метод, описанный @Laurenz с использованием Sumatra PDF , лучше, если вы хотите извлечь изображения из страницы PDF со смешанным содержимым (изображение + текст), чтобы получить только изображение.
Быстрый способ, если вам не требуется оригинальное разрешение изображения в пикселях, - это просто нажать кнопки ALT и Print Screen. Затем выберите пасту, где вы хотите изображение.
Другой способ сохранить разрешение - открыть PDF-файл в программе для редактирования изображений, например Adobe Photoshop, и работать с ним там.
Sumatra PDF - это быстрое и легкое приложение для чтения PDF с открытым исходным кодом, которое может копировать изображения непосредственно в буфер обмена без повторной растеризации.
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.
используйте pdftocairo
из poppler toolkit
. Он может извлекать и конвертировать изображения в формате PDF в любой нужный формат. Он всегда генерирует изображения и никогда не генерирует ppm или еще какие-нибудь кости. Следующая команда преобразует страницы PDF в изображения JPG:
pdftocairo.exe -jpeg "my.pdf" "my"
Вы можете получить его здесь для Windows:http://blog.alivate.com.au/poppler-windows/
Он также доступен в Linux.
http://www.sumnotes.net/ - это онлайн-инструмент для извлечения заметок, основных моментов и изображений. Я широко использовал его в университете для своей диссертации, и я был действительно доволен.
обычно я извлекаю внедренное изображение с помощью 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