我有一个由在Linux服务器上运行的Django构建的数据库驱动的网站。它管理着许多独立的组,每组有数百个用户。它需要能够根据需要为一个,一些或所有用户打印自定义文档(即访问凭证)。每个组都有自己的徽标,每个凭证都根据用户的姓名,照片和一些额外的图形标记进行定制。所有自定义信息都基于用户的存储数据。
我正在尝试确定格式化凭据和打印的最佳方法。以下是我到目前为止提出的选项:
直接HTML格式化,使用表格标签将凭据分解为单元格以包含自定义文本或图形。这似乎很简单,除了它似乎不能同时打印几百个凭证。
从PDF文件形式的doc模板开始,使用可用的PDF命令行工具包标记自定义信息,并将多个PDF附加到单个文件中进行打印。这似乎也是合理的,除了这些工具包的服务器许可证的成本对于Linux来说是非常昂贵的(> 500美元)。
在客户端上运行的独立程序,它通过Web服务检索用户数据,并在本地执行所有格式化和打印。
还有其他选择吗?有什么建议?谢谢你的帮助。
答案 0 :(得分:0)
我曾经使用SVG做过类似的事情。这允许很大的灵活性,因为您可以在inkscape中设计“凭证”,使用占位符名称和徽标,然后完成后,在文本编辑器中打开输出svg并用上下文变量替换占位符。
一个提示,将所有django模板代码(如果有的话)作为xml注释,ex <!--{% load xyz_tags %}-->
,否则,如果你在inkscape中打开它,很多东西就搞砸了。
答案 1 :(得分:0)
解决方案是使用开源ReportLab库从头开始构建PDF页面。
我找不到将自定义组件标记为现有PDF的廉价方法。 ReportLab可以做到这一点,但只能通过他们的商业产品。
虽然效果很好。