Порой читая скаченные журналы/книги/статьи приходит мысль как бы скопировать иллюстрации себе. В нашей системе Ubuntu 10.10 есть утилита которая нам в этом поможет:
ekzorchik@ekv:~$ apt-cache search pdfimages
poppler-utils – PDF utilitites (based on libpoppler)
xpdf-utils – Portable Document Format (PDF) suite – utilities
Установим:
ekzorchik@ekv:~$ sudo apt-get install xpdf-utils
ekzorchik@ekv:~$ whereis pdfimages
pdfimages: /usr/bin/pdfimages /usr/share/man/man1/pdfimages.1.gz
С помощью утилиты pdfimages можно посмотреть информацию о любом pdf-файле.
Посмотрим какие данные можно получить:
ekzorchik@ekv:~$ pdfinfo trex.pdf
Creator: Adobe InDesign CS4 (6.0)
Producer: Adobe PDF Library 9.0
CreationDate: Mon Jul 19 14:45:50 2010
ModDate: Mon Jul 19 14:47:09 2010
Tagged: no
Pages: 36
Encrypted: no
Page size: 595.276 x 841.89 pts (A4)
File size: 2685333 bytes
Optimized: no
PDF version: 1.6
В данном выводе нам наиболее полезна строка Pages. Она понадобится для разбора страниц.
Применим утилиту на наш pdf-файл:
ekzorchik@ekv:~/PDF$ pdfimages -f 1 -l 36 -j trex.pdf tox
* -f – номер первой страницы pdf-файла, из которого будут извлекаться картинки;
* -l – аналогично – номер последней страницы pdf-файла (то есть, опциями f и l мы задаем диапазон в pdf-файле, откуда будем извлекать картинки; это в том случае, когда не хотим получить ВСЕ картинки из ВСЕГО pdf-файла);
* -j – конвертировать извлеченные картинки в формат jpg.
она вытянула все, что смогла. И что смогла – переконвертировала в формат jpg, как мы ей и сказали опцией -j. А что не смогла – оставила в формате ppm.
ekzorchik@ekv:~/PDF$ file tox-130.ppm
tox-130.ppm: Netpbm PPM “rawbits” image data
ekzorchik@ekv:~/PDF$ file tox-127.jpg
tox-127.jpg: JPEG image data
имя tox в конце команды. Это имя может быть любым другим, на ваш выбор, но оно должно быть! Это своеобразная маска, по которой программа pdfimages создает имена графических файлов. За примером далеко ходить не надо. Смотрим на результат работы малютки – и все сразу станет понятно:
По окончании работы программы удаляем, то что не обработалось:
ekzorchik@ekv:~/PDF$ rm *.ppm