这真让我抓狂。UPS 向我们的系统发送了一张 1400x800 的 GIF 运输标签图片,该图片应该可以完美地显示在 4x6 页面上。
不幸的是,我似乎无法正确获取命令行选项来实现它。
我们使用带有网络适配器的 Eltron/Zebra 2844,并使用 CUPS 从我们的 Ubuntu 8.04 服务器进行打印。我们使用正确的驱动程序,并且测试页打印正确。
但无论我怎么尝试,它都坚持在 6 页上打印 UPS 标签,每页上只有一点点标签,或者太小了。
我尝试了无数种不同的 lpr 设置,其中大多数都产生了垃圾。我得到的最接近的结果是:
lpr -P Eltron2844 -o 自然缩放=55 -o page-right=0 -o page-left=0 -o 景观-o 媒体="4x6" ./1ZY437560399620027.gif
但它会导致页面上的图像太小。它大约短了一英寸,两边都有 1/2 英寸的边距。如果我将比例调高到 56,它会将图像扩展到两页上,并将其挤压。
有任何想法吗?
答案1
您是否尝试过将 gif 转换为 postscript 文件?如果您有 imagemagick,您可以使用:
convert 1ZY437560399620027.gif 1ZY437560399620027.ps
然后打印出来?您也可以使用 gimp 或其他程序打印到文件中。
我假设问题在于 lpr 正在通过一个辅助应用程序来创建您有问题的边距。
祝你好运,
若昂·米格尔·内维斯
答案2
4x6 上的 800 x 1400 转换为 200 dpi x 233.33333 dpi,因此您无法获得完全填充标签的图像。
如果使用 200 dpi,则较长的边对于标签来说要长 1 英寸(假设您保持纵横比相同)。
如果使用 233.333 dpi,则较短的边大约短了 0.58 英寸。
因此,您必须忍受图像被挤压或出现边框的现象,除非您联系 UPS 并要求他们提供与标签完全匹配的图像。
答案3
我猜测您的打印机驱动程序的 PPD(查看)有一个不允许无边距打印/etc/cups/ppd/[printername].ppd
的定义。*ImageableArea
如果您的硬件确实支持边到边打印(或者它能容忍比 PPD 中定义的更小的边距),您可以尝试编辑 PPD。请参阅此处了解有关关键字 、 和 的 PPD 操作*PageSize
的*PageRegion
一些*PaperDimension
提示*ImageableArea
:https://stackoverflow.com/questions/1028891/whats-the-easiest-way-to-add-custom-page-sizes-to-a-ppd。
我的建议是...
- ...调查你的 PPD,并且
*ImageableArea
...将4x6 介质定义的值设置为表示无边界打印的值。
我的猜测是您应该使用类似的行*ImageableArea 4x6/4x6in: "0 0 288 432"
(如果您的 PaperDimension 行是*PaperDimension 4x6/4x6in: "288 432"
)。
现在您已设置打印队列来发送作业图像文件(假定硬件能够进行无边界打印),您将看到...
- ...如果打印机硬件确实支持无边界打印,
- ...或者如果硬件确实只是将打印的图像剪辑到实际支持的值。
有了这些知识,您可能能够调整 PPD 以使其*ImageableArea
更接近硬件支持的范围。
(对于所述尺寸的 PPD 数值:72 pt == 1 英寸。因此 288x432pt == 4x6in)