Bash

Как конвертировать pdf в jpg/png - linux

УТИЛИТА CONVERT

Для того, чтобы конвертировать pdf в jpg или png в linux, необходимо воспользоваться утилитой convert.

Утилита convert содержится в пакете ImageMagick и позволяет осуществлять массовое преобразование изображений.

Конвертация pdf в jpg или png - следующая команда позволяет постранично конвертировать pdf в jpg, каждый из полученных jpg файлов будет соответствовать одной странице pdf документа.
Для того, чтобы текст был читабелен на картинках при конвертации необходимо указать параметр плотности документа - density, значения 150 будет вполне достаточно.
  1. $ convert -density 150  my_pdf.pdf my_image.jpg

Утилита имеет множество параметров и возможностей, с помощью нее можно повернуть изображение, изменить его размеры, залить фоновым цветом пустые области.

Для изменения размеров изображения можно воспользоваться параметром resize, которому в качестве аргументов можно выставить определенные значения или проценты.
  1. $ convert -resize 640x480 my_image.jpg my_thumb.jpg
  2. $ convert -resize 60% my_image.jpg my_thumb.jpg

Для того, чтобы повернуть изображение можно воспользоваться параметром rotate.
  1. $ convert -rotate 90 my_image.jpg image_rotate.jpg

УТИЛИТА PDFTOPPM

Иногда возможностей утилиты convert, которая использует imagemagick/graphicsmagick недостаточно, т.к. не всегда качество изображений на выходе соответствует желаемому, да и рациональность потребления ресурсов оставляет желать лучшего. В качестве альтернативы можно использовать утилиту pdftoppm.

Пакет в котором присутствует утилита: poppler-utils.

Конвертация pdf в png изображения (prefix - название изображений):
  1. pdftoppm -png file.pdf prefix

По умолчанию используется 150 dpi, в большинстве случаев этого достаточно, однако, можно задать более высокое разрешение следующим образом:
  1. pdftoppm -rx 300 -ry 300 -png file.pdf prefix

Если необходимо из документа с большим количеством страниц осуществить конвертацию только конкретной страницы, это можно сделать выполнив следующую команду, где N - номер страницы в pdf документе:
  1. pdftoppm -f N -singlefile -png file.pdf prefix