1

Dymo 450 Labelwriter プリンターでテキストのみのラベルを正しく印刷するために、html2ps を使用しています。このページによると、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を使用して印刷していることにも言及する必要があります。

4

1 に答える 1

2

職場では、まさにこの目的のためにwkhtmltopdf プロジェクトの一部である wkhtmltoimage を使用しています。450 の代わりに 400 とツイン ターボ 400 を使用しています。クロスプラットフォームの静的にコンパイルされたバイナリを提供するため、コンパイルは必要ありません。それでも、古いバージョンの wkhtmltopdf がユニバースで利用できるようです。

この場合、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;
}

これらのピクセル寸法は、特定の高さと幅を強制するために、適切なコマンド ライン スイッチと一致させました。lp結果の画像は、またはを介し​​てプリンタに直接送ることができますlpr。印刷の向きを変更して (-o landscapeまたは、ドキュメント-o orientation-requested=Nを参照)、寸法を入れ替えて、ラベルを横向きにすることもできます。

イメージを CUPS に渡すときに、イメージの DPI を手動で指定する必要がある場合があります。を通じて明示的に行い-o ppi=300ます。

于 2012-01-13T18:08:37.340 に答える