Разделить PDF на несколько диапазонов страниц с несколькими выходами

Мне нужно разделить один файл PDF на несколько файлов PDF, но с использованием определенных диапазонов страниц.

Эта команда CPDF разделит несколько диапазонов страниц, но объединит их в один файл PDF.

cpdf in.pdf 1-3,90-97,112-end -o out.pdf

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

Я искал решения этой проблемы в документации PDFTK и CPDF, но не нашел никакой помощи.

2 ответа

Решение

Вы можете сделать это с cpdf используя простой цикл for:

for pages in {1-3,90-97,112-end};do cpdf in.pdf $pages -o out-$pages.pdf;done

Как и в ответе BeastOfCaerbannog выше, вы также можете сделать это с помощью Ghostscript. Просто не забудьте указать свои диапазоны, если они не являются последовательными!

      file=“some_file.pdf"; for pages in {1,2-4,”5,6-8",9,10}; do gs -q -dBATCH -sPageList="${pages}" -sDEVICE=pdfwrite -dCompatabilityLevel=1.4 -dNOPAUSE -sOutputFile="${file%%.pdf}-${pages}.pdf" "${file}";done
Другие вопросы по тегам