Как конвертировать PDF в изображение?

У меня есть требование конвертировать страницы PDF в изображения. Существует фоновое изображение с некоторым текстом, поэтому, когда я сохраняю это как изображение, только фоновое изображение было сохранено.

Имеется ли какое-либо программное обеспечение для этого, чтобы полная страница могла быть преобразована в изображение?

251
задан 23 June 2011 в 15:36

92 ответа

Если вы хотите конвертировать определенную страницу PDF в PNG, вы можете передать pdftk в convert (, описанный выше ) такой:

  pdftk document.pdf кошка 12 выход - |  convert - document-page-12.png  
9
ответ дан 13 August 2018 в 15:43

В настоящее время принятый ответ выполняет эту работу, но приводит к тому, что результат больше по размеру и страдает от потери качества.

Метод в ответе здесь дает результат, который сопоставим по размеру с входом и не страдает от потери качества.

TLDR - Используйте pdfimages : pdfimages -j input.pdf output

Цитируя связанный ответ:

< blockquote>

Неясно, что вы подразумеваете под «потерей качества». Это может означать много разных вещей. Не могли бы вы разместить несколько примеров для иллюстрации? Возможно, вырезать один и тот же раздел из низкого качества и качественных версий (как PNG, чтобы избежать потери качества).

Возможно, вам нужно использовать -density для преобразования на более высоком dpi:

  convert -density 300 file.pdf page_% 04d.jpg  

(Вы можете добавить -units PixelsPerInch или - если это необходимо, - PixelsPerCentimeter . Моя копия по умолчанию - ppi.)

Обновление: Как вы указали, gscan2pdf re using it) является всего лишь оберткой для pdfimages (из poppler ). pdfimages не делает то же самое, что convert делает, когда ему присваивается PDF.

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

pdfimages просматривает PDF для встроенных растровых изображений и экспортирует их в файл. Он просто игнорирует любые текстовые или векторные команды рисования в PDF.

В результате, если у вас есть PDF, это всего лишь обертка вокруг серии растровых изображений, pdfimages будет сделать гораздо лучшую работу по их извлечению, потому что он получает исходные данные с исходным размером. Вероятно, вы также захотите использовать опцию -j для pdfimages , потому что PDF может содержать необработанные данные JPEG. По умолчанию pdfimages преобразует все в формат PNM, а преобразование JPEG> PPM> JPEG - процесс с потерями.

Итак, попробуйте

  pdfimages  -j file.pdf page  

Вам может потребоваться или не нужно следовать этому, чтобы конвертировать в .jpg шаг (в зависимости от какой формат растрового изображения использовался в PDF).

Я пробовал эту команду в PDF, который я сделал из последовательности изображений JPEG. Выбранные файлы JPEG были байт-байтами, идентичными исходным изображениям. Вы не можете получить более высокое качество, чем это.

9
ответ дан 15 August 2018 в 22:33

Другие вопросы по тегам:

Похожие вопросы: