使用命令行将 pdf 分成 n 页批次

使用命令行将 pdf 分成 n 页批次

我有一个 8000 页的 PDF,我想将它们分成 500 页的批次,即 pdf_1 有 1-500 页,pdf_2 有 501-1000 页,等等。(我不想要其他解决方案中提议的单页 pdf,而是想要 n 页的 pdf,这里 n=500)

有没有办法在 Ubuntu 中使用脚本来做到这一点?

我不想手动打印,因为这样需要多次打印。我希望能够使用脚本来完成此操作

答案1

您可能需要安装qpdf。以下是脚本的快速尝试。

#!/bin/bash

pdffile="$1"

# Find the nuber of pages in the document
qty=$(pdfinfo "$pdffile" | grep Pages | awk '{print $2}')

i=1      # first page for the file
j=500    # last page for the file
if [ $j -gt $qty ] ; then 
     echo "File is already smaller than 500 pages."
     exit 0
fi

while [ $j -le $qty ] ; do
    qpdf "$pdffile" --pages . $i-$j -- file.$i-$j.pdf
    i=$((i+500))     # on to the next 500...
    j=$((j+500))
    # If the remaining pages are less than 500, use qty as end.
    if [ $j -gt $qty ] ; then 
        j=$qty
    fi
    # ugly hack for if the number of pages is exactly n*500
    if [ $i -gt $qty ] ; then
        j=$((qty+100))
    fi
done

您可以考虑使用 cli-argument 而不是 500,提供更好的输出文件名等。但这应该给您一个基本的想法。

相关内容