ImageMagick PDF кадрирование сохранить качество
У меня есть несколько PDF-файлов, которые мне нужно обрезать (обрезать до trimbox и т. Д.), Что я могу сделать с помощью следующей команды
convert -define pdf:use-trimbox=true -density 300 original.pdf outcome.pdf
Это делает работу, однако, результат. PDF качество, если не так резко, как оригинальный PDF. Когда я обрезаю их на своем настольном программном обеспечении (Acrobat Pro), результат получается такого же качества, но в ImageMagick я не могу сохранить то же качество в результате.
У меня вопрос, как я могу обрезать PDF-страницу без ущерба для качества?
Я искал и пробовал разные настройки в течение нескольких недель, но не увенчался успехом.
2 ответа
Скорее всего, проблема в том, что ImageMagick отображает PDF в растровое изображение с помощью Ghostscript, а затем экспортирует растровое изображение в файл PDF. Не видя оригинала, я не могу сказать наверняка, но если оригинал содержал изображения JPEG, то, скорее всего, вы в конечном итоге применяете JPEG дважды, или просто рендеринг вообще вызывает проблему.
Лучше всего будет использовать инструмент, который может просто применить CropBox к страницам. Вы можете сделать это, например, с помощью Ghostscript (который также может изменить PDF другими способами, включая двойное квантование JPEG, так что будьте осторожны).
gs -sDEVICE=pdfwrite \
-sOutputFile=cropped.pdf \
-dBATCH -dNOPAUSE \
-c "<</ColorImageFilter /FlateEncode>> setdistillerparams" \
-f <input.pdf> \
-c "[ /CropBox [ 0 0 100 100] /PAGES pdfmark" \
-f
Первый раздел между -c
а также -f
говорит устройству pdfwrite использовать FlateEncode для цветных изображений, по умолчанию используется JPEG, использование Flate гарантирует, что квантование не будет применено дважды.
Второй раздел между -c
а также -f
говорит устройству pdfwrite записать CropBox в файл и сделать его от 0,0 до 100,100. Единицы - это обычные единицы в PDF; 1/72 дюйма, вы можете использовать дробные значения.
Я уверен, что есть другие инструменты, которые сделают это, возможно, еще проще.
Вы пытались увеличить плотность? Это цель:
http://www.imagemagick.org/script/command-line-options.php
В противном случае попробуйте:
качество 100