我们公司正在开发一个新系统,希望将发票整合进去。
我们需要一种解决方案来创建发票的布局,然后将其转换为PDF格式。
我们考虑过使用HTML/CSS进行布局,然后转换为PDF。我们也考虑使用SVG->PDF转换。
这两种解决方案都能很好地融入我们现有的网页应用程序模板语言中。
在历史上,我们是基于Microsoft的业务,并使用Crystal Reports完成此任务,但我们正在寻找一个针对此项目的开源Linux解决方案。
是否有人有任何建议,可供我们用于此任务的方法或技术?
我们公司正在开发一个新系统,希望将发票整合进去。
我们需要一种解决方案来创建发票的布局,然后将其转换为PDF格式。
我们考虑过使用HTML/CSS进行布局,然后转换为PDF。我们也考虑使用SVG->PDF转换。
这两种解决方案都能很好地融入我们现有的网页应用程序模板语言中。
在历史上,我们是基于Microsoft的业务,并使用Crystal Reports完成此任务,但我们正在寻找一个针对此项目的开源Linux解决方案。
是否有人有任何建议,可供我们用于此任务的方法或技术?
尝试这样做...使用Word(或者你想用的其他工具)创建一张空白发票,并将其保存为PDF文件。
然后使用PDF库来修改PDF文件(在特定的坐标处插入文本)。我们在Microsoft世界中这样做非常简单。
最大的好处是我们可以使用自己的工具来创建和修改模板。如果我们想添加一些静态文本,我们只需要打开Word,进行更改并将其保存为PDF文件(作为模板使用)。
对于Microsoft,我们使用iTextSharp,它实际上是原始的iText Java版本的C#端口
此外...
您可以使用Adobe Acrobat在PDF中插入字段(地址、电话、发票编号、行项目1、行项目2等),然后在运行时使用iText/iTextSharp填充这些字段。
这就是我们所做的,而且非常容易。
通常的方法是安装(La)TeX(可能已经在Linux上安装),然后运行pdflatex以获得pdf文档。如果您喜欢xslt和xsl-fo,也可以使用Apache FOP。
如果要创建的发票数量较少,则可以使用OpenOffice(直接或作为工具包)。
如果您需要高精度定位和低级别访问,则低级pdf库(我不知道iTextSharp是否适用于mono)可能是您想要的。
我建议首先尝试使用LaTeX,因为它可以用最小的努力获得结果。
我之前是通过模板化PostScript文件并使用Ghostscript的ps2pdf
将其转换为PDF来生成发票。
有几个开源报告引擎(Jasper Reports, Pentaho 和 BIRT)可以像历史上使用Crystal Reports一样使用。其中一个其他帖子提到了ReportLab,如果您正在使用Python或可以在应用程序中嵌入Python运行时,则可以选择此选项。
最灵活的解决方案可能是创建包含发票数据的XML,然后通过使用XSLT将其转换为PDF、HTML或其他格式。
不确定你在这里的目标是什么,但有一个名为fpdf的开源php库,它还有一个扩展可以采用预制pdf作为布局,然后填充更多内容,生成带有该信息的新PDF。
然而,我会选择一个可以很好地集成到您正在构建的平台中的解决方案,但我不会选择HTML-> PDF解决方案,因为在这种环境中,您不会知道什么适合纸张大小,这意味着您不知道何时应将内容拆分为两个单独的模板。