【问题标题】:html2ps - How do I print small labels?html2ps - 如何打印小标签?
【发布时间】:2012-01-13 15:05:28
【问题描述】:

我一直在使用 html2ps 来获取一些纯文本标签,以便在 Dymo 450 Labelwriter 打印机上正确打印。根据this page,您应该能够使用 CSS 调整页面大小。这是我尝试过的 CSS(在外部文件中,也尝试过内联):

  @page {
      size: 28mm 85mm landscape;
      margin: 0mm;
  }

但输出的后记仍然是字母大小。我还可以使用 html2ps' -s 选项进行缩放,但边距仍然很大,以至于没有文本打印(只是出现一个空白标签)

html2ps -s .3 -L <url>

如何使边距为零并输出正确的页面大小?

这是输入 html 的示例:

<div>Code: <b>SNHN1</b>&nbsp;&nbsp; PO: <b>035718</b>&nbsp;&nbsp;ln: <b>1</b><br>Desc: <div>US15 4" SOLID BRASS NO. 1 (SNHN1)******* HOUSE NUMBER SATIN NICKEL "1"<br></div>Remarks: <b>## CUSTOMER NAME 01/13</b><br><div>Vendor: HARDWARE COMPANY ETC...&nbsp;&nbsp; Rcvd: date and time...</div></div>

似乎 html2ps 不尊重内联:

page-break-after:always;

感谢您的帮助。我还应该提到我正在使用来自 ubuntu 打印服务器的 lp 进行打印。

【问题讨论】:

    标签: php css printing printing-web-page html2ps


    【解决方案1】:

    在工作中,我们使用 wkhtmltoimage(wkhtmltopdf project 的一部分)正是为了这个目的。我们使用的是 400 和 Twin Turbo 400 而不是 450。应该没关系,我希望。它们提供跨平台静态编译的二进制文件,因此不需要编译。即使这样,旧版本的 wkhtmltopdf 似乎也可以在 Universe 中使用。

    在我们的例子中,我们将htmlbody 尺寸设置为特定的像素尺寸,根据打印机的 DPI 计算得出,再加上 CUPS 的一些软糖因素。例如,打印到 30252 1.125x3.5 地址标签时:

    html, body {
        margin: 0px;
        border: 0px;
        padding: 0px;
        height: 290px;
        width: 958px !important;
        max-width: 958px !important;
        overflow: hidden;
    }
    

    然后将这些像素尺寸与适当的命令行开关进行匹配,以强制指定特定的高度和宽度。生成的图像可以通过lplpr 直接送入打印机。您还可以通过更改打印方向(-o landscape-o orientation-requested=N,请参阅the docs)并交换尺寸来将标签横向翻转。

    在将图像传递给 CUPS 时,您可能需要手动指定图像的 DPI。我们通过-o ppi=300 明确这样做。

    【讨论】:

    • 这如何处理多个页面(同一文件中的多个标签)?
    • 我们从未有意这样做过。我们为每个标签生成一张图像,将其扔到lpr,然后生成下一张图像。如果您生成的图像在正确的轴上具有两倍的尺寸,它可以正常工作,但要找到正确的宽度和边距才能让它插入需要相当多的操作没有对齐烦恼的正确位置。您可能还需要使用驱动程序选项。如果图像太大,驱动程序将尝试缩小图像(坏)或跨多个标签打印(好)。
    • 出于这个原因,我想我想避免使用图像。我的输出都是文本,对于我的可变内容可能导致这种情况发生的少数情况,通常溢出到第二个标签上不会成为问题。我想我会继续坚持使用 html2ps 的答案,因为我认为这是一个非常通用的库,用于将纯 html 转换为打印文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-25
    • 1970-01-01
    相关资源
    最近更新 更多