PostScript 队列上的 mi、mp 和 _d 属性修改

root 用户可以修改虚拟打印机定义中的 mimp _d 属性, 这样,队列后端就能确定文件类型(PostScript 或非 PostScript ASCII)并且相应地设置打印环境。

输入数据流属性存储不同输入数据流类型的管道。 有关更多信息,请参阅 虚拟打印机输入数据流属性。 类属 PostScript 打印机的定义具有四个输入数据流管道:ia(扩展的 ASCII)、introff)、ip(passthru)和 is(PostScript)。 冒号文件中的 _d 属性控制在缺省情况下将要使用四个输入数据流处理管道中的哪一个。 _d 对类属 PostScript 队列的缺省值是 s(PostScript),因此将使用 is 定义的管道。

mi 属性使用单个、以逗号分隔的字符来命名输入数据流类型。 mp 属性使用以逗号分隔的字符串来标识数据流类型。 在 mi 的字符和 mp 的字符串之间存在一一对应的关系。

通用 PostScript 虚拟打印机的缺省值 mis 的缺省值为 %%!; PostScript 文件的前两个字符是 %!。 (重新调用该打印机冒号文件转义序列都 以 % 开头,所以,要在属性定义中使用文字 %,它必须使用另一个 % 来转义。) 虚拟打印机将解释所有以 %! 开头的文件 类型为 S的数据流,并使用 管道。 因为non-PostScriptASCII 文件不以%! 将不会被此队列打印。

向具有类属 PostScript 虚拟打印机定义的 PostScript 队列提交一个非 PostScript ASCII 作业将导致作业的丢失。 要在此队列上启用 ASCII 打印, root 用户可以使用 lsvirprt 命令修改引用的属性,如下所示:

  • mi=a , s
  • mp= , %%!
  • _d = %mi

使用 lsvirprt 命令来选择类属 PostScript 队列。 将出现以下提示:

To LIST attributes, enter AttributeName1 ..(* for all attributes)
To CHANGE an attribute value, enter AttributeName=NewValue
To FORMAT and EDIT an attribute value, enter AttributeName~v
To EDIT the attribute file, enter ~v
To terminate, press Enter:

在提示符下:

  • 输入 mi=a,s
  • 输入 mp=,%%!
  • 输入 d=%mi

在输入每个属性的重新定义以后,将显示属性的新值,后面是提示。

这个新的值设置一对输入数据流类型, a(扩展的 ASCII)带有任意字符串,s(PostScript)带有字符串 %!。 不与 %! 配合使用的输入数据流 将由 管道进行处理,并且所有以 %! 开头的输入数据流都将 将由 管道处理。

注意:使用通用PostScript虚拟打印机时,如不进行上述修改,可通过在命令行中重设输入数据流类型来打印non-PostScriptASCII 文件。 例如,可以使用 qprtd 标志,如下所示:
  qprt -Pqueue_name -da /etc/motd

此命令请求名为 /etc/motd 的文件在名为 queue_name 的队列上打印, 并且将输入数据流当作 ASCII(将使用 ia 管道)。