В настоящее время принятый ответ выполняет свою работу, но в результате получается выход, который больше по размеру и страдает от потери качества.
Непонятно, что вы подразумеваете под «потерей качества». Это может означать много разных вещей. Не могли бы вы опубликовать несколько образцов для иллюстрации? Возможно, вырежьте тот же раздел из версий низкого качества и хорошего качества (как PNG, чтобы избежать дальнейшей потери качества).
Возможно, вам нужно использовать -density
для преобразования с более высоким dpi:
convert -density 300 file.pdf page_%04d.jpg
(Вы можете добавить -units PixelsPerInch
или, -units
PixelsPerCentimeter
если необходимо, по умолчанию моя копия ppi.)
Обновление: Как вы указали, gscan2pdf
(способ, которым вы его используете) является просто оберткой для 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
Вы можете или не может понадобиться , чтобы следовать , что с convert
к .jpg
шагу ( в зависимости от того, какое изображение форматировать PDF использовал).
Я попробовал эту команду в PDF, который я сделал сам из последовательности изображений JPEG. Извлеченные файлы JPEG были побайтно идентичны исходным изображениям. Вы не можете получить более высокое качество, чем это.