我有一个网站,以客户信息的形式处理大量数据,以及他们一天订购的东西.现在,由于这个特定的网站有数百个客户端,每天每个客户都有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.