答案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
你可以试试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 页。
建议命令的输出:
答案3
釉面既有用于创建文件的GUI 编辑器 ( glabels-3
) ,也有用于从命令行或脚本打印先前创建的 .glabel 的程序。.glabels
glabels-3-batch
它支持各种文件格式(包括 CSV)的“邮件合并”功能。
.glabels 文件只是gzip
压缩的 XML。我创建了一个简单的文件glabels-3
(一个包含 7 行文本的大文本字段)。gunzip
-ing 文件后,它看起来像这样:
<?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
、awk
或中的语句perl
。