好的,所以我将进入当前项目的阶段,我将在该阶段实施发票,并考虑一下,我想我会看看你们将如何解决这个问题。如果相关,我正在使用 CodeIgniter、jQuery、jQuery UI,并且我可以完全控制服务器,运行 PHP 5.3 和 Apache 2.2.16。生产服务器正在运行 Debian Squeeze。
所以我的查询是这样的。
- 我正在开发的应用程序将处理发票
- 发票可以一张一张地生成,也可以批量生成(从一个日期范围开始)
- 所有发票都应生成 PDF 并保存到服务器。我正在使用 mPDF。
- 一些发票可以通过电子邮件发送给客户,其他发票必须只是 PDF 格式,如果可能,可以直接从 PHP 发送到打印机(lpr -p?)
- 发票运行通常每两周进行一次
- 发票运行通常涉及生成超过 100 个发票
- 一些发票可能相当大,尽管典型的 PDF 大小可能是每张发票 2-5 页
基本上我想要一些提示。我正在寻求建议的主要领域是:
- 批量开票 - 如果这是通过一个浏览器请求完成的,可能需要几分钟,并且 PHP 可能会超过最大执行时间。我想也许它通常可以通过 AJAX 完成,其中 jQuery 检索要制作的发票列表,然后遍历列表,请求 PHP 制作 PDF 并处理发票。因此,您有很多较小的请求,而不是一个大请求?这是推荐的吗?有更好的方法吗?
- 批量打印。用户担心每次运行都必须手动打印数十张发票,这是可以理解的。处理从 PHP 到本地打印机的批量发票打印的最佳方法是什么?我已经阅读了有关使用
lpr
盒子将输出发送到打印机的信息,但我担心在 100 个 PDF 的批处理过程中,有几个最终可能会迷路。有没有更好的办法? - 进度报告。拥有一个典型的纺车可能会变得乏味,我知道用户已经要求更详细的进度更新。对此有何建议?我知道通过上述许多小请求的方法,您可以轻松获得 AJAX 报告:为客户 1 构建 PDF...完成...通过电子邮件将 PDF 发送给客户 1...完成...为客户 2 构建 PDF...等等。
- 数据库酸度和错误处理。发票是一个很大的问题,而且显然对所涉及的金额很敏感……任何关于交易应用程序逻辑、处理 PDF 生成错误/电子邮件错误以回滚发票等的提示都会很棒。
我会留下这个建议。我们将不胜感激地收到您可以节省的任何提示、建议或意见。
非常感谢。