pdftk 从脚本变量中提取随机页面

pdftk extract random pages from script variable

我有一些大约 2000 页的 pdf 文件。它们是随机生成的。 我需要提取一些包含某些特定模式的页面,这些模式会更改每个 pdf 的页码。 通过使用 pdfToText 和 AWK 的一些步骤,我可以获得页码并将一些信息存储到 csv 文件中,如下所示:

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

我一直在尝试做一个循环,从这个 csv 获取每一行并将其处理到 pdftk 命令的 cat 选项中,但它避免了 return 错误:

$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

回显模式和页面变量时,一切正常。但是如果我尝试从 $pages 变量获取页面,pdftk 命令 returns 会出错:

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.

我做错了什么?

谢谢!

[已解决]

我想..我不知道这是否是最好的选择,但有效:

改为直接执行pdftk命令:

pdftk input.pdf cat $pages output $pattern

我将整个命令存储到一个新变量中,运行 eval 命令:

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

所以,它就像一个魅力...

如果有更优雅的解决方案,不胜感激!