我们的旧应用程序使用 Solaris 5.10 上的 LP 命令将报告文件打印到整个组织的打印机。但是,现在我们有一个远程位置,无法访问打印机(至少没有可靠网络上的打印机),因此我尝试设置某种方式让打印后台处理程序拦截文件,并运行 txt2pdf 实用程序它被配置为通过电子邮件将输出发送到特定的电子邮件地址。这样,我们就不必仅针对这一位置返回并更改每种应用程序的打印方法。
我们在这些旧的打印后台处理程序中为各种事情做了一些自定义过滤器,所以我想我可以使用它,而不是像我们当前的过滤器之一那样向作业添加换页符,而是通过 txt2pdf 运行文件,然后输出到空打印机。
case "$TERM" in
PS )
# make the "postscript" printers use postio to
# talk to the printer and periodically get a
# status from them
FILTER="/usr/lib/lp/postscript/postio"
;;
pptestterm)
FILTER="/usr2/dms/run/txt2pdf/txt2pdf - -landscape|lp -s -d NULL"
;;
(txt2pdf 命令中唯一的“-”告诉它使用标准输入和标准输出)
显然这是行不通的,我正在努力寻找对 LP 究竟如何应用这些接口/过滤器的理解。
这是使用上述配置时日志文件中的错误消息:
06/04 14:56:53: printer fault. type: write root, status: c
msg: (txt2pdf: couldn't open temporary file ./txt2pdf18653)
关于如何运作有什么建议吗?