Как конвертировать PDF в JPG с помощью командной строки в Linux?
Каковы быстрые и надежные способы преобразования PDF в (одиночный) JPEG с помощью командной строки linux?
2 ответа
На протяжении последних 5 лет я не могу заставить imagemagick работать постоянно (если вообще) для меня, и я не знаю, почему люди постоянно рекомендуют его снова и снова. Я просто погуглил, как преобразовать PDF в JPEG сегодня, нашел этот ответ и попробовалconvert
, и у меня это совсем не работает:
$ convert in.pdf out.jpg convert-im6.q16: not authorized `in.pdf' @ error/constitute.c/ReadImage/412. convert-im6.q16: no images defined `out.jpg' @ error/convert.c/ConvertImageCommand/3258.
Затем я вспомнил, что есть еще один инструмент, который я использую и о котором писал, поэтому я погуглил " linux convert pdf to jpg Gabriel Staples", щелкнул первое нажатие и прокрутил вниз до своего ответа. Вот что мне идеально подходит:
[Производит файлы размером ~1 МБ на страницу] Вывод в формате .jpg с разрешением 300 точек на дюйм:
mkdir -p images && pdftoppm -jpeg -r 300 mypdf.pdf images/pg
[Производит файлы размером ~2 МБ на страницу] Вывод в формате .jpg с максимальным качеством (наименьшее сжатие) и все еще с разрешением 300 точек на дюйм:
mkdir -p images && pdftoppm -jpeg -jpegopt quality=100 -r 300 mypdf.pdf images/pg
Если вам нужно большее разрешение, вы можете попробовать 600 DPI:
mkdir -p images && pdftoppm -jpeg -r 600 mypdf.pdf images/pg
... или 1200 точек на дюйм:
mkdir -p images && pdftoppm -jpeg -r 1200 mypdf.pdf images/pg
См. Ссылки ниже для получения дополнительных сведений и опций.
Ссылки:
Ты можешь попробовать imagemagick
хранилище, а затем convert
полезность:
$ sudo apt-get install imagemagick
$ convert input.pdf output.jpg
И наоборот, другой синтаксис зависит от дистрибутива Linux.
libvips может быстро конвертировать PDF -> JPEG. Он входит в состав большинства дистрибутивов Linux, для macos - доморощенный, а бинарный файл Windows можно загрузить с сайта libvips.
Это преобразует PDF в JPG с разрешением по умолчанию (72):
vips copy somefile.pdf somefile.jpg
Вы можете использовать параметр dpi, чтобы установить другое разрешение рендеринга, например:
vips copy somefile.pdf[dpi=600] somefile.jpg
Вы можете выбрать такие страницы:
vips copy somefile.pdf[dpi=600,page=12] somefile.jpg
С этим эталонным изображением я вижу:
$ /usr/bin/time -f %e vips copy r8.pdf[page=3,dpi=300] x.jpg
0.77
А с ImageMagick это:
$ /usr/bin/time -f %e convert -density 300 r8.pdf[3] x.jpg
3.04
Таким образом, libvips примерно в 4 раза быстрее (в этом тесте).
Конвертировать из imagemagick
Кажется, сделать хорошую работу
convert file.pdf test.jpg
и в случае, если было создано несколько файлов:
convert test-0.jpg --append test-1.jpg ... --append one.jpg
создать один файл, где все страницы объединены.