2017-11-13 12 views
0

私は2000ページほどのpdfファイルがあります。それらはランダムに生成されます。 いくつかの特定のパターンを含むいくつかのページを抽出する必要があります。そのページはPDFごとにページ番号が変更されます。 pdfToTextとAWKを使っていくつかのステップで 、私はページ番号を取得することができますし、私はそのようなCSVファイルにいくつかの情報を格納します。pdftkスクリプト変数からランダムページを抽出

PatternA ; 1 3 5 7 
PatternB ; 1 8 10 22 

私はこのことから、それぞれのラインを取得し、処理するループをやろうとしてきましたpdftkコマンドから猫のオプションにCSVが、それはリターンエラー遠かっ:

$IFS=$(printf '\n\t') 
for line in `cat job.csv` 
do 
pattern=`echo $line ¦ cut -d ';' -f 1` 
pages=`echo $line ¦ cut -d ';' - f 2` 
pdftk input.pdf cat $pages output $pattern 
done 

パターンとページ変数をエコー、すべてがOKですが。しかし、$ pages変数からページを取得しようとするとpdftkコマンドがエラーを返します。

Error: Unexpected text in page range end, here: 
    1 3 5 7 
    Exiting. 
    Acceptable keywords, for example: "even" or "odd". 
    To rotate pages, use: "north" "south" "east" 
     "west" "left" "right" or "down" 
Errors encountered. No output created. 
Done. Input errors, so no output created. 

私は間違っていますか?

ありがとうございます!

答えて

0

[SOLVED]

私はそれが最良の選択ですが、動作するか..私にはわからないと思います

:私は保存され

pdftk input.pdf cat $pages output $pattern 

代わりに直接pdftkのコマンドを実行しますコマンド全体を新しい変数に置き換え、evalコマンドを実行しました。

cmd="pdftk input.pdf cat $pages output $pattern" 
eval $cmd 

魅力...

さらに洗練されたソリューションがあれば、私は感謝します!

関連する問題