У меня есть требование конвертировать страницы PDF в изображения. Существует фоновое изображение с некоторым текстом, поэтому, когда я сохраняю это как изображение, только фоновое изображение было сохранено.
Имеется ли какое-либо программное обеспечение для этого, чтобы полная страница могла быть преобразована в изображение?
Если вы хотите конвертировать определенную страницу PDF в PNG, вы можете передать pdftk
в convert
(, описанный выше ) такой:
pdftk document.pdf кошка 12 выход - | convert - document-page-12.png
В настоящее время принятый ответ выполняет эту работу, но приводит к тому, что результат больше по размеру и страдает от потери качества.
Метод в ответе здесь дает результат, который сопоставим по размеру с входом и не страдает от потери качества.
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 были байт-байтами, идентичными исходным изображениям. Вы не можете получить более высокое качество, чем это.
blockquote>