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
所以,它就像一个魅力...
如果有更优雅的解决方案,不胜感激!
我有一些大约 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
所以,它就像一个魅力...
如果有更优雅的解决方案,不胜感激!