Принятый в настоящее время ответ выполняет эту работу, но приводит к получению результата, который больше по размеру и страдает от потери качества.
Метод, указанный в ответе здесь в результате получается результат, сопоставимый по размеру с исходным и не страдающий от потери качества.
ДВУ - Использовать pdfimages
: pdfimages -j input.pdf output
Цитирую связанный ответ:
Непонятно, что вы подразумеваете под "потерей качества". Это может означать много разных вещей. Не могли бы вы опубликовать несколько примеров для иллюстрации? Возможно, вырезать один и тот же раздел из версий низкого качества и хорошего качества (в формате PNG, чтобы избежать дальнейшей потери качества).
Возможно, вам нужно использовать -density
чтобы выполнить преобразование с более высоким разрешением dpi:
convert -density 300 file.pdf page_%04d.jpg
(Вы можете добавить -units PixelsPerInch
или -units PixelsPerCentimeter
если это необходимо. В моей копии по умолчанию используется ppi.)
Обновление: Как вы указали, gscan2pdf
(то, как вы его используете) - это просто оболочка для pdfimages
(из попплер). pdfimages
не делает то же самое, что convert
делает, когда в качестве входных данных используется PDF-файл.
convert
берет PDF-файл, отображает его с некоторым разрешением и использует полученное растровое изображение в качестве исходного изображения.
pdfimages
просматривает PDF-файл в поисках встроенных растровых изображений и экспортирует каждое из них в файл. Он просто игнорирует любые текстовые или векторные команды рисования в формате PDF.
В результате, если у вас есть PDF-файл, это просто оболочка вокруг серии растровых изображений, pdfimages
это значительно улучшит их извлечение, потому что даст вам исходные данные в их первоначальном размере. Вы, вероятно, также захотите использовать -j
возможность для pdfimages
, потому что PDF-файл может содержать необработанные данные в формате JPEG. По умолчанию, pdfimages
>> преобразует все в формат PNM, а преобразование JPEG в JPEG - это процесс с потерями.
Итак, попробуйте
pdfimages -j file.pdf page
Вам может понадобиться, а может и не понадобиться следовать этому с помощью convert
к .jpg
шаг (в зависимости от того, какой формат растрового изображения использовался в PDF).
Я попробовал эту команду на PDF-файле, который я сделал сам из последовательности изображений в формате JPEG. Извлеченные файлы JPEG были байт в байт идентичны исходным изображениям. Вы не можете получить более высокое качество, чем это.