2 FreeBSD handbook中文版 11 打印 高级打印机设置 B.Header( 十 )


统计记录文件相同,不过文件名后面会再加上_sum 。然后它会将统计记录文件清空 。如果你
再执行一次pac;命令,那么它会先读取之前统计的结果,然后再加上从统计记录文件里所计
算出来的结果 。
11.4.5.2;如何统计有几页被打印?;
为了要能精确统计打印的情况,你必须要能得知每个工作用了几张纸 。这是打印机使用
情况统计最基本的问题 。
对于纯文本的工作,这个问题并不难解决:你只要统计这个工作里有几行并知道你的打
印机一张纸可以印几行就行了 。别忘了考虑倒退字符以及因为同一行字符过多而换行的情
况 。
lpf;文字过滤程序(在文字过滤程序:lpf;这一节里介绍的)在做统计时会将这些情况都
考虑进去 。如果你要自己撰写有统计功能的文字过滤程序,你可以参考lpf;的原始码 。
那么要如何统计其它格式的文件呢?;
对于DVI;转成LaserJet;或DVI;转成PostScript,你可以让你的过滤程序处理由dvilj;或
dvips;的输出以判断一共转换了几页 。你也许可以用类似的方式来处理其它的文件格式以转
换程序 。
但是这样的方法所计算出来的和打印机实际打出来的可能不大相同,举例来说,打印机
可能会卡纸、用完色带碳粉或墨水、或是其它的故障—而这些使用者仍然需要付费 。
那么,我该怎么办?;
只有一种方式肯定是可以做出精确的统计 。买一台可以告诉你一共打出多少纸张的打印
机,同时将它接在串行端口或是以网络连接 。几乎所有的PostScript;打印机都支持这个功能 。
当然其它种类的打印机也有支持的(如网络Imagen;激光打印机) 。为这些打印机修改你的过
滤程序,使得过滤程序在打印完成后可以从打印机取得这些信息,同时也只根据这些记录来
做统计 。不需要做行数统计或是其它可能发生错误的计算方式 。当然,你也可以大方的让所
有的纸张打印输出都免费 。
第60;页FreeBSD;使用手册

推荐阅读