我用了几天时间想出了一个生成 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 并稍后发送。用户将使用它进行订单确认、发票等。我不想为每个用户硬编码布局。