【问题标题】:pdftk extract random pages from script variablepdftk 从脚本变量中提取随机页面
【发布时间】:2017-11-13 22:52:04
【问题描述】:

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

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

我一直在尝试做一个循环来获取并处理来自这个 csv 的每一行到来自 pdftk 命令的 cat 选项,但它消除了返回错误:

$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 命令会返回错误:

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.

我做错了什么?

谢谢!

【问题讨论】:

    标签: variables pdf split extract


    【解决方案1】:

    [已解决]

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

    而是直接执行pdftk命令:

    pdftk input.pdf cat $pages output $pattern
    

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-15
      • 1970-01-01
      • 1970-01-01
      • 2021-10-23
      • 2019-01-14
      • 1970-01-01
      • 2015-04-11
      相关资源
      最近更新 更多