Joe*_*Joe 2 opera bash printing postscript
我不知道后记语言。
我有一个用 bash 编写的双面打印仿真系统。它先打印奇数页,然后打印偶数页。它需要知道是否有奇数页数,以便它可以弹出最后一个没有相应偶数面的奇数页。它还使用页数进行报告。
我不知道如何正确执行此操作,因此我编写了查看结尾的代码,如有必要,还会查看 postscript 文件的开头,搜索“%%Pages:”,然后是页数。这几乎适用于除 Opera 浏览器打印的文件之外的所有内容。
任何人都可以提出另一种获取此信息的方法吗?
Postscript 文件往往相当大,有很多非人类可读的内容,所以我还没有花很多时间来介绍 Opera 中的那些。
TIA
当前代码位于:
http://sourceforge.net/projects/duplexpr/
function ps_page_ct
Run Code Online (Sandbox Code Playgroud)
不幸的是,没有简单的方法可以在原始 Postscript 文件中查找页面。这就是%%Pages创建约定(Adobe Document Structuring Conventions)的原因。
发出页面的命令是showpage。在简单的情况下,你只需要计算它们。
但是这个命令可以嵌入到函数体中,然后你需要一个 Postscript 解析器。
以下 Ghostscript 命令将可靠地计算 PostScript 文件中的页数——但它可能相当慢,因为它需要完全解释(运行)文件,正如@afrazier 已经在评论中所述:
gs \
-o /dev/null \
-sDEVICE=bbox \
input.ps 2>&1 \
| grep HiResBoundingBox \
| wc -l
Run Code Online (Sandbox Code Playgroud)