コマンドラインからキーワードに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

少なくともセグメントの数がファイル名と一致する場合に機能します。

おすすめ記事