在自定义纸张尺寸上打印/将纸张尺寸添加到 PPD

swe*_*ber 6 cups pdf ppd

打印到自定义纸张尺寸时遇到了一些麻烦。目前,我想在 21 厘米 x 21 厘米的卡片上打印一些东西。因此,我在 libre office 中创建了一个具有此大小的文档并将其导出为 PDF。PDF 看起来不错。

当我想打印文档时,打印机对话框没有此纸张尺寸的选项。如果我选择 Din A4(也是 21 厘米宽),就会发生奇怪的事情:

  • Acrobat Reader将文档在 A4 纸上居中,因为它认为它正在打印到 A4 纸上。
  • Okular将文档的顶部与工作表的顶部对齐。这很好,正是我想要的,但它也会裁剪文档的上部。它看起来好像将文档顶部对齐放在纸张上,然后擦除与文档大小相同的居中对齐框之外的所有内容。

我当前的解决方法是创建 A4 大小的文档,将要打印的区域与页面顶部对齐。但是,这在创建文档时看起来很奇怪。

我看到使用--custom打印命令的选项可能允许这样做,但我不想从命令行打印文档。


所以,我的问题是:

  • 如何将自定义页面尺寸的文档打印到相同自定义尺寸的纸张上?
  • 我在 PPD 文件中看到了定义的纸张尺寸。我可以直接编辑吗?有没有方便的工具?

我的打印机是兄弟 L2340 激光打印机,带有兄弟的原装杯驱动程序。我正在运行 OpenSuse 13.2,如果我正确的话,cups 是 1.5.4。

Grz*_*cki 3

根据:/sf/answers/217857951/,您需要在打印机的文件描述中的适当位置添加四行,描述页面的四个属性:PageSizePageRegionImageableAreaPaperDimension

顺便提一句。以下是我尝试将 S0929100 卡卷的描述添加到 Dymo 450 LabelWriter: https: //gist.github.com/gwpl/d6f90e41c5b07cd9f9262e4c6515037d,但仍在进行中。希望这会给您一个提示,这里是上述要点的摘要,共四行 - 每行都应位于.ppd文件的适当部分:

*PageSize w144h252/S0929100 Cards - Appointment Name Badge 51x89 mm : "<</PageSize[144 252]/ImagingBBox null/cupsInteger0 0>>setpagedevice"
*PageRegion w144h252/S0929100 Cards - Appointment Name Badge 51x89 mm : "<</PageSize[144 252]/ImagingBBox null/cupsInteger0 0>>setpagedevice"
*ImageableArea w144h252/S0929100 Cards - Appointment Name Badge 51x89 mm : "0.00 4.32 141.12 235.44"
*PaperDimension w144h252/S0929100 Cards - Appointment Name Badge 51x89 mm : "144.00 252.00"
Run Code Online (Sandbox Code Playgroud)