Разделить 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