最简单、最快的模板方法,可能是 PDF

Posted

技术标签:

【中文标题】最简单、最快的模板方法,可能是 PDF【英文标题】:Easiest and fastest way to template, possibly in a PDF 【发布时间】:2012-08-12 04:02:35 【问题描述】:

我一直在寻找一个简单的解决方案来解决一个不太复杂的问题。

我的 sql 数据库中有大量数据需要打印(例如,每个条目都有姓名、地​​址、电话号码等)。

最终打印页面上的绝大多数数据是静态的 - 只需要在“模板”中作为“变量”的一小部分字段。非常有利的是,可变数据将被放入的区域本身在位置方向和尺寸上都是固定的 - 因此无需调整页面上其他静态/冗余数据的间距。

我想有某种形式的“会计”,因为打印的页面数量将达到数万,我想知道打印了哪些 sql 条目远。

我不想“重新发明***”并编写一个 php 前端,该前端循环遍历数组并将 sql 数据在呈现为 pdf 之前或之后存放到页面上的正确位置......

我更喜欢直接从服务器 (*nix) 打印,如果有一种方法可以做到这一点,而实际上不必渲染成千上万个单独的 pdf,我会非常热情。对于当今的开源软件包,哪条路线是最好的选择?

(到目前为止,如果没有简单的方法,我将需要学习 LaTeX、Cheetah 和一些 python)

【问题讨论】:

如果你想要漂亮的可编程报告,LaTeX 是最好的选择。 您的问题是 CrystalReports/BusinessObjects/JasperServer 旨在解决的问题。 【参考方案1】:

Dabo 的报表编写器是一个类似于 Crystal 的带状报表引擎,它将一组数据(例如 cur.fetchall() 的输出)和报表模板(xml 字符串或文件)作为输入,并输出 PDF 或一组 PDF(如果需要,它可以输出字节流而不是直接写入文件)。

Dabo 的主要目的是一个基于 wxPython 的桌面应用程序框架,但报告可以在 Web 上完成,无需桌面交互。尽管使用附带的报表设计器确实有助于使用桌面设计报表。

http://dabodev.com

会有一些安装障碍和学习曲线,但是一旦你开始了,你会发现这是一件容易的事。

【讨论】:

以上是关于最简单、最快的模板方法,可能是 PDF的主要内容,如果未能解决你的问题,请参考以下文章

Meteor 模板:检查用户是不是登录的最简单方法是啥?

从我自己的网站上销售电子书的最快、最便宜和最简单的方法?

使用itext7简单的生成一个pdf,创建一个pdf模板并进行填充

在 jQuery 模板中获取当前项目索引的最简单方法

使用Itext搜索和替换PDF

cad图纸模板怎么保存、怎么使用