Linux教程 用CUPS来打印DVI文件的方法(2)

确定了文件的 MIME 类型之后,就用 /etc/cups/mime.convs 文件查找正确的过滤器。这个文件的行有四项:源 MIME 类型和目标 MIME 类型、代价、过滤器的名称。这里使用了代价最小的过滤器。清单 2 显示了一些示例。

清单 2. /etc/cups/mime.convs 的过滤器项

text/plain application/postscript 33 texttops

text/html application/postscript 33 texttops

image/gif application/vnd.cups-postscript 66 imagetops

image/png application/vnd.cups-postscript 66 imagetops

image/jpeg application/vnd.cups-postscript 66 imagetops

image/tiff application/vnd.cups-postscript 66 imagetops

image/x-bitmap application/vnd.cups-postscript 66 imagetops

如果找不到合适的过滤器,尝试打印文件就会产生错误消息。如果使用 CUPS 之外的打印机守护程序,那么可能得到意料之外的输出。清单 3 显示了使用 DVI 文件时的情况(来自 TeX 和 LaTex 的正常输出)。

清单 3. 打印不支持的文件类型

[ian@attic4 ~]$ lpr samp1.dvi

lpr: Unsupported format 'application/octet-stream'!

用于 CUPS 打印的 DVI 过滤器

幸好,提供 TeX 和 LaTeX 的 tetex 包还提供了把 DVI 转换成 PostScript 的转换工具 dvips。不幸的是,它不能作为过滤器工作,因为它不知道如何处理 CUPS 过滤器必须处理的参数:作业 id、用户、作业标题、拷贝数量和作业选项。如果输入来自文件,那么过滤器管道中的第一个过滤器还具有额外的参数 —— 文件名。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/3ed6dfd1861f415c56bad3134ef4eef9.html