![将 PDF 拆分为多个页面范围并输出](https://linux22.com/image/1168272/%E5%B0%86%20PDF%20%E6%8B%86%E5%88%86%E4%B8%BA%E5%A4%9A%E4%B8%AA%E9%A1%B5%E9%9D%A2%E8%8C%83%E5%9B%B4%E5%B9%B6%E8%BE%93%E5%87%BA.png)
我需要将一个 PDF 文件拆分为多个 PDF,但使用特定的页面范围。
这慢性PDF命令将拆分多个页面范围,但将它们合并为一个 PDF 文件。
cpdf in.pdf 1-3,90-97,112-end -o out.pdf
我需要一个可以执行与上述命令类似的功能的命令,但将每个页面范围输出到其自己的 PDF。
我已经在 PDFTK 和 CPDF 文档中寻找此问题的解决方案,但没有找到任何帮助。
答案1
您可以cpdf
使用简单的 for 循环来完成此操作:
for pages in {1-3,90-97,112-end};do cpdf in.pdf $pages -o out-$pages.pdf;done
答案2
与上面 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