1

Я хочу конвертировать PDF в JPG. Размер страницы не является стандартным. (pdf здесь: imslp)

Когда я конвертирую pdf в jpg с помощью convert -density 300 sheet.pdf sheet.jpg , я получаю это: Преобразованное изображение. (Разница не совсем понятна в браузере. Скачайте файл, чтобы увидеть лишние пробелы)

Как вы можете видеть, imagemagick изменил размер бумаги, поэтому добавлено дополнительное пространство.

Я хочу сохранить размер страницы. Как я могу это сделать?

1 ответ1

0

Я предлагаю вам использовать pdfimages вместо convert .
С помощью pdfimages -list Test.pdf я получаю список изображений из pdf- файла.

page   num  type   width height color comp bpc  enc interp  object ID
---------------------------------------------------------------------
   1     0 image    4128  5440  gray    1   1  ccitt  no        97  0
   2     1 image    4112  5424  gray    1   1  ccitt  no        95  0
   3     2 image    4080  5440  gray    1   1  ccitt  no        93  0
   4     3 image    4096  5440  gray    1   1  jbig2  no        12  0
   5     4 image    4176  5488  gray    1   1  jbig2  no        16  0

Таким образом, изображения внутри вашего PDF имеют разные размеры и шифрование.
С помощью следующей команды вы извлечете их все:

pdfimages test.pdf sheet

Это даст прогрессивные имена sheet-000.pbm sheet-001.pbm sheet-002.pbm sheet-003.pbm sheet-004.pbm и запишет их в формате pbm .
К сожалению, опция -j не работает в вашем конкретном случае, и вы должны конвертировать вручную:

convert sheet-001.pbm sheet-001.jpg

На этом этапе вы будете иметь изображения с их оригинальным размером.


Теперь суть вашего вопроса: какой размер страницы?!?

 A4        210   × 297   mm   at 300 dpi     2480 x 3508 Pixels 
 Letter    215.9 × 279.4 mm   at 300 dpi     2550 x 3300 Pixels
 ...

Пусть мы выберем A4 .
Соотношение не соответствует соотношению ваших страниц, поэтому вы можете или исказить его, или оставить с некоторым пробелом над или с некоторым пробелом сбоку.

 convert sheet-001.pbm -resize 2480x3508\! distort.jpg      # you fix xy
 convert sheet-001.pbm -resize 2480x       Take_Width.jpg   # you fix x
 convert sheet-001.pbm -resize x3508       Take_Height.jpg  # you fix y

Для установки pdfimages вы можете установить poppler-utils . Найдите свою операционную систему.

Ps> Как сделать расчеты

 Letter    8.5 x 11 inches    x 300 dpi  ---> 2550 x 3300 Pixels

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