Есть ли способ сгладить .pdf-изображение из командной строки?

В GIMP я могу импортировать .pdf и использовать графический интерфейс, чтобы сгладить его (если он был сделан со многими слоями), выбрав «Сгладить изображение» в раскрывающемся меню «Изображение». Затем я могу экспортировать .pdf с новым именем файла.

Я хотел бы автоматизировать это. Есть ли способ сделать это через терминал?

16 голосов | спросил generic_user 19 +04002014-10-19T04:20:51+04:00312014bEurope/MoscowSun, 19 Oct 2014 04:20:51 +0400 2014, 04:20:51

3 ответа


20

Я нашел эти 2 метода через Google, в этом потоке под названием: Re: Сглаживание PDF-файлов в Командная строка UNIX .

Метод # 1 - с помощью преобразования Imagemagick:
$ convert orig.pdf flattened.pdf 

ПРИМЕЧАНИЕ. Качество считается таким образом при таком подходе.

Метод # 2 - Использование pdf2ps -> ps2pdf:
$ pdf2ps orig.pdf - | ps2pdf - flattened.pdf 

ПРИМЕЧАНИЕ. Этот метод, как сообщается, сохраняет качество изображения.

ответил slm 19 +04002014-10-19T04:42:54+04:00312014bEurope/MoscowSun, 19 Oct 2014 04:42:54 +0400 2014, 04:42:54
13

Ghostscript (gs) работал лучше, чем pdf2ps и convert для меня. Качество почти не ухудшалось, а размер файла небольшой.

gs -dSAFER -dBATCH -dNOPAUSE -dNOCACHE -sDEVICE=pdfwrite \
-sColorConversionStrategy=/LeaveColorUnchanged  \
-dAutoFilterColorImages=true \
-dAutoFilterGrayImages=true \
-dDownsampleMonoImages=true \
-dDownsampleGrayImages=true \
-dDownsampleColorImages=true \
-sOutputFile=document_flat.pdf document_original.pdf

Найдено здесь: http://zeroset.mnim.org/2015/01/07/flatten-pdfs -с-Ghostscript /

ответил Stan Bondi 6 +03002015-10-06T21:06:19+03:00312015bEurope/MoscowTue, 06 Oct 2015 21:06:19 +0300 2015, 21:06:19
1

Хотя конвертация будет поддерживать тот же размер файла, я обнаружил, что он медленный.

Метод pdf2ps ps2pdf работает быстрее, но я заметил, что он увеличивал размер файла.

pdftk хорош, потому что он не только быстрый, но и сохраняет аналогичный размер файла.

Это то, что я использую для объемной сглаживания каталога.

    function pdfflatten () {
        pdftk "$1" output "$2" flatten
    }
    export pdfflatten
    alias pdfflattenDIR='mkdir flattenedPDFs; for i in `seq $(ls *.pdf | wc -l)`; do a=`ls *.pdf | head -$i | tail -1`; pdfflatten "$a" flattenedPDFs/"$a"; done'
ответил Jgar 10 PMpMon, 10 Apr 2017 20:38:08 +030038Monday 2017, 20:38:08

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132