2008-09-22 75 views
3

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

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

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

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

感谢:-)

回答

2

有这样做的一些工具。 XSL-FO很有用。 Here是一个用cocoon从xml(或xhtml)创建pdf的教程。另见Apache FOP

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

0

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

1

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

1

在过去,我写了脚本吐出乳胶然后用texi2pdf来解决这类问题。

1

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

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

1

您可以创建一个表单并使用诸如iText(Java)的PDF库以编程方式填充条目。

0

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

0

一种可能的方法是使用模板引擎,如FreeMarker或StringTemplate:它们通常用于生成HTML,但它们足够灵活,可以实际输出任何格式。
问题在于制作PDF模板,我想。也许你可以采取一个示例输出并编辑它以用占位符代替数据以由模板引擎填充。可能不是小事!

0

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

0

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

0

您可以将CSStoXSLFO与RenderX中的XEP结合使用以获得高质量输出。借助此解决方案,您可以将XML数据合并到用CSS装饰的XHTML模板中。它也可以用奇妙的JFreeChart库生成图表。支持CSS3页面媒体功能。