如何在基于Laravel的应用程序中处理大量的PDF代码并通过电子邮件发送
问题描述:
我只是好奇,您将如何处理需要在服务器上生成大量PDF并发送给用户的场景通过电子邮件。您无法对PDF进行调整,因为它需要100%安全或接近该数字。如何在基于Laravel的应用程序中处理大量的PDF代码并通过电子邮件发送
例如,PDF包含您刚刚在网上商店中订购的订单,购买证明或类似内容。
该应用程序将有很多并发用户。对于这个问题,我将使用Laravel作为Web应用程序的基础平台。
我的想法是在夜间运行cron作业,一次生成所有这些PDF并通过电子邮件发送。
在这种情况下什么被认为是最佳实践?
答
例如,PDF包含您刚刚在网上商店中订购的订单,购买凭证或类似的东西。
鉴于这些大概会在一天中发生,a queue可能是一个比cron更好的解决方案。每次有人执行需要PDF的操作时,都会启动队列作业。后台进程将检查排队的作业并处理它们。
这样可以避免产生巨大的积压,在cron失败的情况下保护您,并以更及时的方式将PDF发送给客户端。
您可以创建一个基本的HTML模板,然后用它们的值创建它,然后添加一个按钮“打印到PDF”并点击它调用'window.print()'。我敢肯定,至少Chrome和Firefox支持打印方法,但我不确定其他浏览器,因此您可能需要深入了解这一点!你可以通过检查浏览器来解决这个问题,如果它不支持打印,你可以发送一个请求到服务器,并用它生成一个PDF。不知道为什么你想要一次创建它们,但......你不能在飞行中创建它们吗? –
@AntoniuLivadariu是的,我知道使用客户端PDF的。但我想将PDF发送给用户,而不是让他们再次浏览网站。因此,为了这个工作,我必须在服务器上生成pdf - >电子邮件PDF - >将来删除PDF。 –