テキストをページに合わせて変換(コマンドラインから)

テキストをページに合わせて変換(コマンドラインから)

ページに合うように短いテキスト(1ワードから数行まで)のサイズを変更するにはどうすればよいですか(中央揃えや左揃えなどのオプションがあればよいでしょう)。 (コマンドラインから)

注文する:

echo Audio | lpr -P Dymo450LabelWriter_network -o raw -o scaling=100

角だけに小さなテキストを生成します(間違っています!!!)。 (ページに合わせてサイズを変更したいです。)

ここに画像の説明を入力してください。

私はカスタムページ形式(上記の場合は57mm x 32mm)を使用しています。

かなり標準的なパッケージを使用することはありますか(LaTeXを作成するよりも簡単ですか)?

(環境:プリンタはpng、pdf、psに適しています)

答え1

イメージマジシャンできるより「テキスト処理 - 画像に最適」の例

convert -background white -fill black -density 600x600 -size 1346x756 -gravity center label:'Audio' audio.pdf

また、複数行をサポートします。

convert -background white -fill black -density 600x600 -size 1346x756 -gravity center label:'Audio\nCables' audio_cables.pdf

最初のコマンドの出力: ここに画像の説明を入力してください。

2番目のコマンドの出力: ここに画像の説明を入力してください。

答え2

あなたは試すことができますenscript。これには多くの機能があり、その多くは興味がありませんが、フォントサイズとメディアサイズを設定できます。中央に並べ替えたり並べ替えたりすることはありませんが、Ghostview を使用して結果を視覚化し、データを変更できます。この試み:

cat <<\! >>~/.enscriptrc
# Media: name width height llx lly urx ury   bounding box lowleft upright
# 57mm x 32 mm converted to points:
Media: mylabel 161 90 0 0 161 90
!

echo 'hello and hello followed by bye bye' |
enscript -p - -h -B -M mylabel -f Helvetica-Bold@30 >out.ps
gv --media=mylabel out.ps

指定したラベルサイズによっては、テキストが2ページに分かれていることがわかります。

提案されたコマンドの出力:

ページ1: ここに画像の説明を入力してください。 2ページ:ここに画像の説明を入力してください。

答え3

釉薬を塗ったファイルを生成するためのGUIエディタ(glabels-3)と、コマンドラインまたはスクリプトから以前に生成された.glabelsを印刷するためのプログラムの両方があります。.glabelsglabels-3-batch

CSVを含むさまざまなファイル形式のメールマージ機能をサポートします。

.glabelsファイルはgzip圧縮XMLです。私は単純なファイルglabels-3(7行のテキストを含む大きなテキストフィールド)を作成しました。gunzip- ファイルを実行すると、次のようになります。

 <?xml version="1.0"?>
<Glabels-document xmlns="http://glabels.org/xmlns/3.0/">
  <Template brand="Dymo" part="99012" size="Other" width="35.9999mm" height="88.9998mm" description="Large Address Labels">
    <Meta category="label"/>
    <Meta category="mail"/>
    <Label-rectangle id="0" width="35.9999mm" height="88.9998mm" round="0mm" x_waste="0mm" y_waste="0mm">
      <Markup-margin size="0mm"/>
      <Layout nx="1" ny="1" x0="0mm" y0="0mm" dx="35.9999mm" dy="88.9998mm"/>
    </Label-rectangle>
  </Template>
  <Objects id="0" rotate="True">
    <Object-text x="1.33759mm" y="1.0501mm" w="86.1756mm" h="33.7488mm" justify="Left" valign="Top" auto_shrink="False" a0="1" a1="0" a2="0" a3="1" a4="0" a5="0">
      <Span color="0x000000ff" font_family="Sans" font_size="12" font_weight="Regular" font_italic="False" line_spacing="1">Line1<NL/>Line2<NL/>Line3<NL/>Line4<NL/>Line5<NL/>Line6<NL/>Line7</Span>
    </Object-text>
  </Objects>
  <Data/>
</Glabels-document>

XMLツールまたはプログラミングライブラリを使用して作成するのは簡単です。でも印刷sh私。awkperl

関連情報