명령줄에서 키워드로 PDF 분할

명령줄에서 키워드로 PDF 분할

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

최소한 세그먼트 수가 파일 이름과 일치하면 작동합니다.

관련 정보