最简单、最快的模板方法,可能是 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的主要内容,如果未能解决你的问题,请参考以下文章