使用Ruby打印报告和发票?

时间:2009-03-24 12:36:05

标签: ruby printing reporting

我只是学习Ruby,我想知道如何生成报告和发票(包括徽标,地址,页脚,可变数量的发票项目(有时会产生多个页面),结转从一个支付的金额页面到下一个,自由浮动的2列文本(左右对齐)在生成的现金信息下面。

目前,我从OperatingSystem(匹配打印机规格)获得了一个可以打印和绘制的画布,并使用了一些draw-,move-,line-,text-和formfeed-API函数,并对文本块进行了一些繁重的计算 - 移动(有点像TeX)。

如何在Ruby中完成?

构建.odt并将其抛给OpenOffice或.tex并将其抛给LaTeX?

或者是否有任何免费的图书馆,我会为我做所有这些事情,所以我只需要提供相关的部分,让Ruby做文本格式的事情?

修改

更具体一点:我想在特定位置的第一页(DIN-A4格式,但也可能是字母)上放置公司徽标,每页还有页脚和上面的地址框。第一页。所有其余的应该是带有左右对齐的自由浮动文本块,文本中间是粗体字。

类似

pdf.column.blocktext("Hello Mr. P\nwe have [b]good news[/b] for you. bla bla bla and so on. Please keep this text together (no page break)...");
pdf.column.floatingblock("This is another block, that should be printed, and can be broken over more than one column...");

应该在纸上以公司字体呈现文本,对齐,如果它到达页面底部,则整齐地包装到下一列/页面。

想一想,这正是LaTeX的用途。

3 个答案:

答案 0 :(得分:3)

我建议你考虑PDF生成。在Rails中,使用Prawn库非常简单。

还有fresh new Railcast about that

Official web site

答案 1 :(得分:3)

您还可以查看HtmlDoc以生成PDF,它只需要HTML并从中生成PDF。这种方法很不错,因为它可以让您轻松地将部分重用于屏幕和硬拷贝发票。

http://blog.adsdevshop.com/2007/11/20/easy-pdf-generation-with-ruby-rails-and-htmldoc/

答案 2 :(得分:1)

Ruport library(Ruby Reports)可以很容易地以多种格式(包括PDF)吐出报表。还有一个ActiveRecord挂钩acts_as_reportable,可以为您的模型提供报告界面。