在终端输出 2 列到 1 列上阅读 pdf

Read pdf on terminal output 2 columns to one

我最近喜欢用更少的命令阅读pdf。 less file.pdf

想读一本两栏格式的 pdf 书。 应该有命令输出一栏吧?

注:每页变化^L

类似于 awk 的管道? 不介意使用 vi 或任何其他命令。

格式示例

                                                                9
^LAgradecimientos                                                                                                         Agradecimientos

maciones de la psiquiatría y la ciencia tradicional de Occi-           do al poder contar con la amistad personal de muchos de los
dente.                                                                 pioneros de este nuevo abordaje psicológico. Estas personas
   También debo agradecer el aliento y el apoyo de varios físi-        tan especiales han sido durante muchos años una fuente de ins-

这是一个开始:

$ cat tst.sh
#!/usr/bin/env bash

awk -v ff='\f' -F'\n' '
    s = index([=10=],ff) {
        prt()
        indent = s - 1
        width  = length([=10=]) - indent
        midway = int(width / 2)
        next
    }
    indent { sub("^ {"indent"}","") }
    /[^[:space:]]/ {
        left  = left substr([=10=],1,midway) ORS
        right = right substr([=10=],midway+indent) ORS
    }
    END { prt() }

    function prt() {
        printf "%s", left
        printf "%s", right

        left = right = ""
    }
' "${@:--}"

.

$ ./tst.sh file

                                                                    9
maciones de la psiquiatría y la ciencia tradicional de Occi-
dente.
   También debo agradecer el aliento y el apoyo de varios físi-
do al poder contar con la amistad personal de muchos de los
pioneros de este nuevo abordaje psicológico. Estas personas
tan especiales han sido durante muchos años una fuente de ins-

尝试增强它以完全为您工作,然后 post 如果您不能并且有任何具体问题,请提出一个新问题。