如何使用关键字作为分割 pdf 的指示符将一个 pdf 分割成多个 pdf?为了命名生成的 pdf,我只想使用一个列出目标文件名的文件。
答案1
也许是这样的:
#!/bin/bash
keyword="MyKeyword"
pdftotext $1 - | awk -vRS=$'\f' -vNAME=$keyword 'index($0,NAME){printf "%d\n", NR;}' > $1_index
## Generate ranges
prev=
paste $1_index | while read line
do
if [ ! -z "${prev}" ];then
line1="${prev}"
line2="$((${line} -1))"
echo "${line1}-${line2}"
fi
prev="${line}"
done > $1_ranges
## Split pdf
paste $1_ranges Names.dat | while read line1 line2;
do
echo "pdftk $1 cat $line1 output $line2.pdf"
pdftk $1 cat $line1 output $line2.pdf
done
## Handle last page
lastPage=$(tail -n 1 $1_index)
lastName=$(tail -n 1 Names.dat)
echo "pdftk $1 cat $lastPage-end output $lastName.pdf"
pdftk $1 cat $lastPage-end output $lastName.pdf
至少如果段与文件名的数量匹配,它应该可以工作。