pioformat 命令

用途

驱动打印机格式化程序。

语法

/usr/lpd/pio/etc/pioformat -@ DataBaseFile [ -! FormatterName ] [ -# + PassThroughOption ]

描述

pioformat 命令启动打印机格式化程序驱动程序。 格式化程序驱动程序建立对数据库值的访问,装入和链接打印机格式化程序,然后通过调用其 setup 函数, initialize 函数, lineout 函数, passthru 函数和 restore 函数来驱动格式化程序。 格式化程序驱动程序也提供格式化程序所使用的 piogetopt 子例程、piogetstr 子例程和 pioexit 子例程。

在此之后列出的标志由格式化程序驱动程序处理,并且不会传递给格式化程序。 但是,在此之后未列出的所有标志都假定为格式化标志并传递给格式化程序。

标志

表 1. 标志
描述
-@ DataBaseFile 指定以下任一项
  • 要访问的(摘要的)数据库文件完整路径名
  • 以冒号分隔的打印队列和队列设备名

如果自变量字符串以 / (斜杠) 字符开头,那么假定它是完整路径名。

队列名称与队列设备名称的组合将生成唯一字符串,该字符串是数据库文件名的一部分,用于在 /var/spool/lpd/pio/@local/ddi 目录中搜索数据库文件名。 当格式化程序驱动程序和格式化程序作为独立设备 (而不是假脱机程序) 运行时,提供此短格式替代方法是方便的。

-! FormatterName 指定要装入、链接和驱动的格式化程序的完整路径名。

如果未指定 -! 标志,那么将使用由数据库中的 mf 属性名称定义的缺省格式化程序名称。 当格式化程序驱动程序和格式化程序作为独立设备 (而不是假脱机程序) 运行时,提供缺省格式化程序名称是为了方便。

-# + PassThroughOption 指定必须通过未修改的打印文件。 如果未指定 -# + 标志,那么将格式化打印文件。

传递到格式化程序的 setup 例程的参数包含值 1 而不是 0 ,指示必须传递文件而不是格式化文件。

示例

  1. 要根据与名为 pro的打印队列相关联的名为 std 的队列设备的数据库文件 (虚拟打印机描述) 格式化 myfile 文件,将页面宽度覆盖为 132 个字符,并使用 pioformat 命令和格式化程序作为独立过滤器,请输入:
    cat myfile | pioformat  -@ pro:std -w 132 >/dev/lp0
  2. 要在假脱机程序下运行的管道中使用 pioformat 命令和格式化程序,请输入:
    %Ide/pioformat  -@ %Idd/%Imm  -! %Idf/piof420x %Fbb %Fee ...
    对于这个示例,假定:
    • 打印机是 4207 型号 2 Proprinter。
    • 打印队列名称为 pro.
    • 仅为打印队列定义了一个队列设备 (虚拟打印机) ,其名称为 std ,其输出数据流类型为 asc (扩展 ASCII)。
    • 打印机设备名为 /dev/lp0.
    • 打印作业提交者指定了标志和参数 -i 5
    在打印作业管理器 ( piobe 命令) 将管道传递到 shell 以格式化文件之前,它会解析管道对属性值的嵌入式引用。 根据先前为此示例列出的假设,可以将属性引用解析为:
    描述
     %Ide -> /usr/lpd/pio/etc pioformat 命令所在的目录
     %Idd -> /var/spool/lpd/pio/@local/ddi 数据库文件目录
     %Imm -> 4207-2.asc.lp0.pro:std 数据库文件名
     %Idf -> /usr/lpd/pio/fmtrs 格式化程序的目录
    %Fbb -> 空字符串,因为提交者未指定 -b 标志
    %Fee -> -i 5 提交者指定了此标志和参数。
    在此之后显示的结果管道可以传递到 shell 以格式化文件 (显示在多行上以实现可读性):
    /usr/lpd/pio/etc/pioformat        # initiate the formatter driver
    -@/usr/lpd/pio/ddi/4207-2.asc.lp0.pro:std
                                      # (digested) database file
    -!/usr/lpd/pio/fmtrs/piof420x     # loadable formatter
    -i5                               # formatting option
                                      # (indent 5 characters)

文件

表 2。 文件
描述
/usr/lpd/pio/etc/pioformat 包含格式化程序驱动程序。
/usr/lpd/pio/fmtrs/* 包含格式化程序。
/var/spool/lpd/pio/@local/ddi/* 包含摘要数据库文件