Ruby on rails Rails以这种格式打印文本文件中的地址标签
我有一个Rails应用程序,它存储杂志订阅者的地址。它应该允许下载地址作为文本文件中的标签,这样就可以用点阵打印机打印 每个订户都有一个Ruby on rails Rails以这种格式打印文本文件中的地址标签,ruby-on-rails,ruby,Ruby On Rails,Ruby,我有一个Rails应用程序,它存储杂志订阅者的地址。它应该允许下载地址作为文本文件中的标签,这样就可以用点阵打印机打印 每个订户都有一个姓名,姓名前缀(“先生”、“小姐”等),地址,区域,zipcode,等等 输出应具有以下格式: 2013年5月30日g51/b18468 Postgg 2013年5月30日N51/b39897 Postgg 2013年5月30日LR51/b23428 Postgg 2013年5月30日 Rgv。XXXXX BBNMBNN.M先生,兄弟。bBRbgbM.S, Kb
姓名
,姓名前缀
(“先生”、“小姐”等),地址
,区域
,zipcode
,等等
输出应具有以下格式:
2013年5月30日g51/b18468 Postgg 2013年5月30日N51/b39897 Postgg 2013年5月30日LR51/b23428 Postgg 2013年5月30日
Rgv。XXXXX BBNMBNN.M先生,兄弟。bBRbgbM.S,
KbgbNg bSSgMBLY Og gOg GOMMUNTY ggNTRg KbMPUNg gRbgg第92标段,
52,gLN。特穆尔,BbTU 4439504,洛朗SS 23/6g,
邮政信箱20,43007 KbgbNg SUNgbn PgLnK 47400 PgTbLnNg gbYb,
MbLbYSnb SgLbNgUR SgLbNgOR,W.MbLbYSnb
MbLbYSnb MbLbYSnb
2013年5月30日的ML51/b13179 Postgg和2013年5月30日的51/b41363 Postgg以及2013年5月30日的Lg51/b29053 Postgg
兄弟。bBRbgbM.V兄弟。bLbPPbN Pbstor。bLgRgg PRbgbSbM
编号:18,PgRSnbRbN第60号,洛龙SgRbn PgRMbn 9,1-2-2,MggbN nNTbN bPbRTMgNT,
RnSgbg.7万亿SgRbn PgRMbn,gbLbN 1/21g Ogg gbLbN gOMBbK
TbMbN RnSgbg 34300,BbTbN SgRbn,吉隆坡53000
30100 nPOg,PgRbK PgRbK MbLbYSnb
MbLbYSnb MbLbYSnb
2013年5月30日LR510b13172邮政编码ML51/b9877 2013年5月30日邮政编码LR51/b9905 2013年5月30日邮政编码
社交网站。bLLbMbg(b)NgSbM Bro。b.b.b.b.b.b.b.b.b.b.b.b.女士
编号:44,gbLbN gbMbn编号:3,gbLbN TgRbTbn 3 7,gbLbN PbRn
TbMbN TbPbg gbYb TbMbN SbRn,TgRbTbn PbRn gbRggNS
35000 TbPbg 44000 KUbLb KUBU BgbRU nPOg,30100
PgRbK,SgLbNgOR PgRbK
MbLbYSnb MbLbYSnb MbLbYSnb MbLbYSnb
2013年5月30日ML51/b13180 Postgg 2013年5月30日ML51/b13203 Postgg 2013年5月30日g51/b9942 Postgg 2013年5月30日
兄弟。托尼兄弟。bNTONYSWbMY Pbstor。bROKnbNbTgbN
编号:399,洛龙KgNbVn 3/2b LbgbNg gUSUN gURnbM编号:M4 g/7
TbMbN KGNBNRn 42700 BbNTnNg gbLbN PbNgbN nNgbg 4/1b
09000 KULnM SgLbNgOR g.g PbNgbN nNgbg
Kggbg MbLbYSnb 55100,吉隆坡库布
MbLbYSnb MbLbYSnb
我把名字和地址弄乱了
所以基本上每个标签都是这样的:
发布在
史蒂夫·罗宾逊先生
地址:布瑟街35号,
阿瓦迪卡马拉杰·纳加尔
钦奈-600071
仅当列宽为上述标签格式时,打印机才会在标签页中打印
如何从Rails打印这种文本文件
我试过PDF creator,但PDF打印在我们的点阵中很糟糕
如何做到这一点
更新:
我看到一个投票说它不清楚。
我想单击一个按钮,该按钮将下载包含指定格式的所有地址的文本文件。我想用这种三列格式打印地址,精确的列宽和每行的行数。我不知道怎么做 如果可以保证列中每行的宽度不会超过列的宽度,则可以使用
sprintf
创建填充字符串。您的每一列都有37个字符宽,因此要打印三列,命令应该是sprintf(“%-37s%-37s%-37s”,col1、col2、col3)
。您必须在每个字段中重复该操作。假设每行都有一个字符串。您需要从数据中生成每个字符串,例如将前缀与名称连接起来。注意,如果您插入的任何字符串长度超过37,sprintf
将不会自动截断该字符串,并将删除该行上的所有列<代码>“%-37.37s”将截断37个字符<代码>“%-37.30s”将截断为30个字符,等等。好的,所以。。。我有订阅者的记录数组。现在我对每个_切片生成一个包含3列的二维数组。然后我做一个each循环,在每次迭代中,我为每一行生成字符串并打印它们。我会尽量让你知道的!:)非常感谢。