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
최소한 세그먼트 수가 파일 이름과 일치하면 작동합니다.