php – 替换为PDF,用于动态生成的文档和分页符

我有一个网站,以客户信息的形式处理大量数据,以及他们一天订购的东西.现在,由于这个特定的网站有数百个客户端,每天每个客户都有5到20个订单.

该网站的所有者想要一个页面,其中包含客户交付信息及其在每个单独页面中的订单列表,以便他们可以打印并将其粘贴在包装上.但是,每个新客户端信息都需要在新页面中启动.

例如:

首页 – –

客户1交货信息

客户1订单信息

“如果订单信息很短,这里有空的空间”

– – 下一页 – –

客户2交货信息

客户2订单信息

– – – 下一页 – –

客户2订单信息继续(这可能只有几行,可能会留下一个大的空白空间)

“这里有一些空地”

– – 下一页 – –

客户3 ……

当我treid输出普通的html然后打印页面时,页面全部乱了,所以我解决了它生成PDF(我正在使用MPDF53)并存在我的问题.

问题是生成PDF需要很长时间并占用大量系统资源.我已经不得不增加服务器执行时间以使其成功运行(认为30秒).现在,随着客户的增长,列表将继续增长,执行时间也将继续增长.如果100个客户列表超过30秒,我想知道当它达到1000或更多时会是什么样的.

打印页面本身不包含任何图形,并且SQL查询生成相当快(这是因为当我输出为html时,页面会很快加载).

有什么替代方法可以在html文档中使用分页符,这样当我打印此页面时,它会正确地跟随该分页符,或者任何其他可以加快pdf生成的方式,或者我只需要承担较长的执行时间.

编辑:即使使用分页符,仅使用html文档的一个问题是将其保存以供以后记录或引用.

谢谢

解决方法:

多年前我遇到了同样的问题,最终依赖于CSS page-break-after属性(有关更多信息,请参阅here).您可以尝试使用HTML生成页面,并将page-break-after:always添加到包含客户信息的div中.

我不会依赖于这一点来实现所有用户和平台之间高度可靠的兼容性,但如果它是一个内部应用程序,那么您可能会指出他们需要使用现代版本的Firefox,Chrome或IE.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...