CUPSを使用して設定可能にテキストファイルを印刷する方法

CUPSを使用して設定可能にテキストファイルを印刷する方法

CUPSを使用してテキストファイルを印刷しようとすると、フォントが非常に小さく、余白も無視できるようになります。

head -n 450 /usr/share/dict/words | tr '\n' " " > t
/usr/lib/cups/filter/texttopdf 1 1 1 1 1 t > t.pdf

境界線のないテキスト

テキストファイルを印刷するためにフォントと余白をどのように設定しますか?これを実行できるシステム構成ファイルまたはコマンドライン魔法はありますか?たとえば、すべての面に1インチの余白を持つ12ポイントフォントが必要な場合があります。

ベストアンサー1

フィルタに関するドキュメントはほとんどなく、texttopdf情報を推論する必要がある場合もありますが、たとえばtexttopdf引数なしで呼び出すか、出力自体を使用する場合

Usage: texttopdf job-id user title copies options [file]

そして、次のようないくつかのリソースカップフィルターGithubページそしてtexttopdfフィルタに関するDebian Wikitexttopdflp(1)/lpr(1) のスイッチと同じ引数を受け入れると推測できますが、-oすべてのオプションは参照によって単一の引数に集計される必要があるという追加の制限があります。LPカップ(1)CUPSで許可されているすべてのオプションを一覧表示します。たとえば、より興味深いオプションのいくつかは次のとおりです。

  • landscape、出力を水平モードに設定します。
  • cpi=<value>、インチあたりの文字数を設定します(デフォルトは10です)。LPカップ(1))
  • lpi=<value>、インチあたりの行数を設定します(次のように)。LPカップ(1))

あなたのニーズに合った正確な値は、用紙サイズとフォントの文字サイズに基づいて計算する必要があり、おそらく試行錯誤で見つけやすくなりますlpi=cpi=

stdin/stdout の場合、texttopdfUnix コマンドのように動作するため、中間ファイルは必要ありません。

たとえば、次のように使用できます。

head -n 450 /usr/share/dict/words | tr '\n' ' ' | \
    /usr/lib/cups/filter/texttopdf 1 1 1 1 'cpi=15 lpi=8 landscape' \
    > words.pdf

おすすめ記事