2016-05-27 2 views
3

я получил некоторые PDF-файлы мне нужно обрезать (растениеводство в trimbox и т.д.), которые можно сделать с помощью следующей командыImageMagick PDF урожай сохранить качество

convert -define pdf:use-trimbox=true -density 300 original.pdf outcome.pdf 

Это делает работу однако качество outcome.pdf если не так остро, как оригинальный PDF. Когда я обрезаю их на своем настольном программном обеспечении (Acrobat Pro), результат будет таким же, но в ImageMagick я не смогу сохранить то же качество в результатах.

Мой вопрос: как я могу обрезать страницу pdf без ущерба для качества?

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

+0

Команда ImageMagick 'convert' использует Ghostscript в фоновом режиме для конвертирования (возможно) векторных страниц PDF в растровые изображения. Затем он применяет «trimbox» к изображению и снова конвертирует полноэкранное растровое изображение в контейнеры PDF-страниц. Другими словами, весь кусок мяса был превращен в фарш, и нет никакой возможности вернуть всю вашу кусочек. (Вы должны использовать другие инструменты, которые избегают растеризации.) –

ответ

4

Скорее всего, проблемы заключается в том, что 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 дюйма, вы можете использовать дробные значения.

Я уверен, что есть и другие инструменты, которые сделают это, возможно еще более легко.

1

Вы пытались увеличить плотность? Это цель:

http://www.imagemagick.org/script/command-line-options.php#density

В противном случае попробуйте:

-качество 100

От: Convert PDF to image with high resolution

+0

hi destriff, я попробовал качество, увеличил плотность до 600, но до сих пор не имеет дело с этим отлично –

+0

Прошу прощения, но я не вижу других вариантов что может избавиться от этой проблемы в документации. Вы можете увеличить качество до 1024, как указано в документации. – Destrif

Смежные вопросы