从结构化数据生成PDF

时间:2008-09-22 16:41:08

标签: pdf graphics pdf-generation

我希望能够从数据库或xml或任何其他结构化表单中的数据生成高度图形化(包含大量文本内容)PDF文件。

目前,我们的平面设计师在将内容作为MS Word文档获取后,手动在Photoshop中创建这些PDF文件。但通常,内容有20多个修订版;这里和那里的小变化,拼写更正等。

这两个缺点是: 1)图形设计师的时间被不必要地占用。第一个版本是他/她应该工作的唯一版本。 2)PDF文件成为现在具有最终修订内容的文档,并且初始内容与其不同步。因此,如果初始内容需要在其他地方(例如在网站上),我们需要从PDF文件中重新创建它。

生成PDF文件将帮助我解决这两个问题。也许某种方式,图形设计师创建一个“模板”,然后放入标签/持有人,并将这些标签/持有人映射到相关数据。

谢谢: - )

11 个答案:

答案 0 :(得分:2)

有一些工具可以做到这一点。 XSL-FO非常有用。 Here是一个使用cocoon从xml(或xhtml)创建pdf的教程。另请参阅Apache FOP

您可以将SQL数据格式化为XML,并且仍然以这种方式使用相同的模板。

答案 1 :(得分:1)

我使用ReportLab python库。它也许可以解决你的问题,但你需要做一些工作......

答案 2 :(得分:1)

在过去,我编写过吐出LaTeX的脚本,然后用texi2pdf来解决这类问题。

答案 3 :(得分:1)

http://jasperforge.org查看iReport和JasperReports。 iReport允许您设计报表,然后您可以使用JasperReports库(Java)以编程方式填充报表,或者只使用iReport手动创建报表。

我只将它用于表格数据,但我不认为其他类型的文档会有任何问题。

答案 4 :(得分:1)

您可以使用像iText(Java)这样的pdf库以编程方式创建表单并填充条目。

答案 5 :(得分:0)

你可以看一下在PostScript中做的工作流程,这是一个纯文本,你可以很容易地从片段组成。然后,您可以使用任何free tool转换为PDF。

答案 6 :(得分:0)

看看Prince XML。该工具允许基于XML或HTML和CSS生成PDF。

答案 7 :(得分:0)

一种可能的方法是使用模板引擎,如FreeMarker或StringTemplate:这些通常用于生成HTML,但实际上它们足够灵活,可以输出任何格式。
问题是制作PDF模板,我想。也许您可以采用示例输出并对其进行编辑,以使用由模板引擎填充的占位符替换数据。可能不是微不足道的!

答案 8 :(得分:0)

听起来像SQL Server Reporting Services可以轻松处理的工作 Reporting Services允许您查询数据,定义布局并导出到PDF而无需任何干预。 PDF输出可以通过电子邮件分发,存储在文件共享中,并通过报表服务器上的页面进行访问 它也可以处理XML数据源。

答案 9 :(得分:0)

从数据生成PDF文件的另一种方法是使用基于prawnruby。对虾中包含了多少功能,我感到非常惊喜。可能需要一些投资,但这种方法会给你很大的灵活性。

答案 10 :(得分:0)

您可以将CSStoXSLFO与RenderX中的XEP结合使用,以获得高质量的输出。使用此解决方案,您可以将XML数据合并到XHTML模板中,该模板使用CSS进行修饰。它还可以使用梦幻般的JFreeChart库生成图表。支持CSS3页面媒体功能。