Как Сжать (Больше, чем по одному) файлы PDF от терминала

Я работаю с большим количеством довольно больших изображенных документов в пределах от нескольких укусов к нескольким концертам данных на файл. Мне нужны эти документы, чтобы поднять меньше пространства памяти и особенно быть более в электронном виде портативным и transmittable.

Для единых документов я использовал:

ps2pdf -dPDFSETTINGS=/ebook inputfile.pdf outputfile.pdf

Которые кодируют, я нашел здесь на AskUbuntu, и он работает отлично с отдельными файлами, уступающими вокруг 1 0,42 степеням сжатия, приводящим к выходному файлу меньше чем половины первоначального размера при поддержании допустимого уровня чтения качества.

Я хочу теперь использовать этот код для своей библиотеки PDF документов для преобразования ВСЕХ моих предыдущих файлов PDF с помощью единственной команды от терминала. Моя стратегическая цель состоит в том, чтобы избежать необходимости сжимать каждый отдельный файл PDF индивидуально; я хочу ввести строку кода, совершить нападки, входят и затем идут, делают что-то еще продуктивное и возвращаются и находят сделанным, и я надеюсь к mogrify файлы на месте (в противоположность преобразованию их, которые произвели бы, удваивается каждого файла), чтобы избежать необходимости удалять старые файлы.

Все эти файлы находятся вместе в единственной папке.

Какие-либо предложения?

Заранее спасибо!

0
задан 22 August 2015 в 16:27

3 ответа

Вы можете использовать ту же команду или mogrify, как вы сказали, просто добавив немного bash.

find $HOME/PDF_Lib -iname '*.pdf' | while read pdf; do ps2pdf -dPDFSETTINGS=/ebook "$pdf" "${pdf:0:(-4)}_new.pdf"; done

ИЛИ

find $HOME/PDF_Lib -iname '*.pdf' | while read pdf; do mogrify -resample 150 -compress JPEG -quality 80 "$pdf"; done

1
ответ дан 3 August 2019 в 14:27

создайте sh файл в каталоге PDF и добавьте это строки:

script.sh

for f in *.pdf
do
    echo $f;
    convert -compress Zip $f  a$f;
done

теперь открывают Ваш терминал в каталоге PDF FILES:

$ chmod +x script.sh
$ ./script.sh

теперь этот сценарий сожмет каждый файл PDF в Вашем каталоге

1
ответ дан 3 August 2019 в 14:27

Я успешно использовал следующий код на терминале iOS для рекурсивного сжатия нескольких PDF-файлов. Я разместил его, потому что не смог найти что-то, что сработало бы для меня простым копированием и вставкой.

find . -name '*.pdf' | while read pdf; do gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile="${pdf}_new.pdf" "$pdf"; done

Обратите внимание, что вам может потребоваться другое качество вывода, поэтому вы можете изменить параметр -dPDFSETTINGS следующим образом:

-dPDFSETTINGS=/экран: более низкое качество, меньший размер.
-dPDFSETTINGS=/ebook: для лучшего качества, но немного большего размера pdf.
-dPDFSETTINGS=/prepress: вывод аналогичен параметру «Prepress Optimized» в Acrobat Distiller.
-dPDFSETTINGS=/printer: выбор вывода аналогичен параметру «Оптимизированная печать» в Acrobat Distiller.
-dPDFSETTINGS=/default: выбирает выходные данные, предназначенные для широкого спектра применений, возможно, за счет увеличения выходного файла.

-1
ответ дан 10 April 2020 в 23:45

Другие вопросы по тегам:

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