gpt4 book ai didi

php - 在 Symfony 中,有没有办法一次创建 pdf 文件页面?

转载 作者:可可西里 更新时间:2023-11-01 13:28:32 25 4
gpt4 key购买 nike

我有带 TWIG 模板引擎的 Symfony 框架。我正在制作 1000 页的 pdf

<dynamic-page>...content in for-loop...</dynamic-page>`

然而,当使用 ps_facade 写入磁盘时,它给我内存耗尽的 fatal error 。那么,有什么方法可以以 5 页为单位创建此 pdf 吗?

经过研究,我发现使用包含 5 页数据的模板,然后将其写入文件应该可行。但那样我将无法添加页码,因为页码应该是 1-1000。我的页脚代码如下所示,

<placeholders>
<footer>
<div height="30px" width="100%">
<hr/>
<div float="left">Blah Blah</div>
<div float="left" margin-left="350px"><page-info format="Page %s of %s"></div>
</div>
</footer>
</placeholders>

最佳答案

您应该为 long processes like this 使用消息系统. RabbitMQ 可以胜任这项工作。

  1. 您的用户请求 pdf
  2. 您立即告诉他他的请求已被考虑在内,工作完成后他会收到一封电子邮件,或者他可以稍后回来
  3. 消费者看到该工作,并启动 pdf 生成(不必在 php 中)。

优点:由于进程不是web版php运行的,所以没有memory_limit和max_execution时间限制如果作业已经在运行,您可以告诉您的用户,而不是为同一个 pdf 启动另一代。由于人们在不耐烦时经常刷新页面,这对您的服务器来说确实是一个巨大的优势(更少的 CPU 使用率)。

缺点:您必须设置一个消息传递服务器并学习一些东西。但这真的是一个骗局吗?

关于php - 在 Symfony 中,有没有办法一次创建 pdf 文件页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12790414/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com