将自定义页面大小添加到.ppd的最简单方法是什么?

joe*_*ker 7 printing cups ppd

我想将自定义页面大小添加到我的打印机的.ppd(PostScript打印机定义)文件中.我需要添加什么才能使新页面大小正常工作?

Kur*_*fle 15

您必须在4个不同的位置为每个额外的页面大小添加值:

  1. 对于PageSize,
  2. 对于PageRegion,
  3. ImageableArea
  4. 对于 PaperDimension

最好,你拿一个PPD并搜索这些关键字中包含的部分

*OpenUI *PaperSize: PickOne
....
*CloseUI *PaperSize
Run Code Online (Sandbox Code Playgroud)

.

*OpenUI *PageSize: PickOne
....
*CloseUI *PageSize
Run Code Online (Sandbox Code Playgroud)

以及以.开头的部分

*DefaultImageableArea: ...
Run Code Online (Sandbox Code Playgroud)

.

*DefaultPaperDimension: ...
Run Code Online (Sandbox Code Playgroud)

使用您在其中找到的行作为新条目的模板.请注意,尺寸在PostScript点中给出(其中72pt == 1inch~ = 2.54cm).

注意事项:

  1. 在PPD中的4个位置中的每个位置添加新行.
  2. 确保为新媒体大小使用uniq名称.
  3. 确保PPD中没有任何语法错误.
  4. 完成后(或在编辑时),使用该cupstestppd实用程序检查PPD (在Linux和Mac OS X上可用).

更新

关于测试PPD的方法cupstestppd:

默认情况下,这将报告错误,**FAIL**即使它发现一些"不那么重要"的语法问题(PPD字符串转换,过滤器,UIConstraints,配置文件,媒体大小).您可以稍微放松这些严格的检查并使用-W all,以便仅将所有这些报告为警告,而不是错误:

cupstestppd -W all /path/to/PPDfile.ppd
Run Code Online (Sandbox Code Playgroud)

如果这返回的行说WARN size ...你应该密切关注它们并确保修复PPD.

  • 仅1英寸*精确*2.54厘米 (4认同)
  • @Ark74:在***[IANA 的 IPP 注册数据库](http://www.iana.org/assignments/ipp-registrations/ipp-registrations.xml)*** 中查找该纸张尺寸是否已“已知” (也许用不同的名字)。如果没有,请在*[CUPS 开发人员邮件列表](https://www.cups.org/mailman/listinfo/cups-devel)* 上询问您可以采取哪些措施来获得支持。 (2认同)

joe*_*ker 0

我有一台三星打印机,所以我下载了 SpliX 驱动程序的源代码。驱动程序源代码包含一个 Makefile,用于从更简洁地列出可用页面大小的源代码编译 .ppd。现在,缺少的纸张尺寸显示在打印对话框的选项中。

(这并没有解决我在小纸张上打印的问题。我的自定义纸张尺寸的真正问题可能与应用程序与 cups 通信的方式以及从 .ps 切换到 .pdf 作为 Ubuntu 9.04 中 cups 的首选页面输入有关...)