我用了几天时间想出了一个生成 PDF 的最佳实践,最终用户可以为自己自定义布局。 PDF 输出需要保存在服务器上或发送回 PHP 文件,以便 PHP 文件可以保存它,并且 PHP 文件需要知道它运行正常。
我认为最好的方法是使用 XML、XSLT 和 Apache Cocoon。但我不确定这是否可行,或者这是否是一个好主意,因为我找不到任何关于人们做类似事情的信息。这不可能是一个罕见的问题。
当我读到有关 Cocoon 通过 XSLT 将 XML 转换为 PDF 的文章时,我有了这个想法:
http://cocoon.apache.org/2.1/howto/howto-html-pdf-publishing.html
并且能够接受变量:
http://old.nabble.com/how-to-access-post-parameters-from-sitemap-td31478752.html
这是我的想法:
- 用户调用一个 php 文件,php 文件生成一个具有特定名称的源 XML 文件
- 然后 php 文件向 Cocoon(在同一 Web 服务器上)发出请求,以在 XML 文件上应用用户定义的 XSLT。这里需要一个参数来了解要应用哪个 XSLT。
- 请求由 PHP 文件处理,然后以 PDF 格式保存在服务器上,稍后可以邮寄。
这行得通吗?有更好的方法来处理这个问题吗?
核心问题是用户需要能够自己定制 PDF 的布局,我需要服务器保存 PDF 并稍后邮寄。用户会将其用于订单确认、发票等。我不想为每个用户硬编码布局。
最佳答案
我过去通过设置 JasperReports Server 取得了一些不错的成绩并使用 iReport Designer 创建报告.它们都提供 F/OSS(“社区”)版本,但如果您需要这些东西,您可以支付支持和增值费用。
这对我们来说是一个很好的解决方案,因为我们可以通过我们的 Java 系统的 Java API 访问它,并通过我们的 PHP 系统的 SOAP 访问它。 GUI 设计器也让非技术业务人员轻松调整报告。
关于php - 从 PHP 文件生成并使用 XSLT 翻译的 XML 获取 PDF 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10869696/