如何在pdftotext的每一页输出上运行命令?

时间:2015-06-29 06:08:27

标签: bash pdf sed

我有一个带有矩阵的PDF文件,我想用它来计算。 PDF文件的每个页面在矩阵的上方和下方都有一些不需要的文本。

我可以通过此输出pdf页面到文本。

pdftotext input.pdf -layout

然后用这个去掉不需要的线条。

sed -e '1, 19d' < input.txt | head -n -7 > output.txt

但这仅适用于一页。 PDF中有60多页。我可以通过运行:

从pdftotext中提取单个页面
pdftotext input.pdf -f 1 -l 1 -layout

是否可以在每个页面上运行循环,执行转换,然后将文本文件合并在一起?

1 个答案:

答案 0 :(得分:1)

一种方法:

#! /bin/sh
pages=$(pdfinfo input.pdf | awk '/^Pages:/ {print $2}')
{
    let p=0
    while [ $p -lt $pages ]; do
        pdftotext input.pdf -f $p -l $p -layout
        let p++
    done
} >output.txt