使用PHP生成许多pdf页面

使用PHP生成许多pdf页面,php,pdf,yii2,Php,Pdf,Yii2,我在用PHP生成许多页面(超过5000页)时遇到了一个问题。在现实中,问题是等待生成的时间 我正在使用框架YII 2.0和小部件mPDF,从2分钟开始生成60页的等待时间。。这次我不得不优化,但有必要生成pdf(使用css来设置文档样式) 我知道生成5000多页需要一段时间,但我需要最大限度地利用这次,现在的方式太长了 有人知道怎么做吗?如果使用PHP有其他方法(库或其他方法),则无需使用YII 代码: $content=$this->renderPartial('tabela-pdf'[ '

我在用PHP生成许多页面(超过5000页)时遇到了一个问题。在现实中,问题是等待生成的时间

我正在使用框架YII 2.0和小部件mPDF,从2分钟开始生成60页的等待时间。。这次我不得不优化,但有必要生成pdf(使用css来设置文档样式)

我知道生成5000多页需要一段时间,但我需要最大限度地利用这次,现在的方式太长了

有人知道怎么做吗?如果使用PHP有其他方法(库或其他方法),则无需使用YII

代码:

$content=$this->renderPartial('tabela-pdf'[
'model'=>$model,
'table'=>$table,//内容
]);
$header=$this->renderPartial('pdf');
//安装kartik\mpdf\Pdf组件
$pdf=新pdf([
//设置为仅使用核心字体
'mode'=>Pdf::mode_CORE,
//A4纸张格式
'format'=>Pdf::format_A4,
//纵向
“方向”=>Pdf::ORIENT_肖像,
//流到浏览器内联
“目的地”=>Pdf::目的地浏览器,
//您的html内容输入
“内容”=>$content,
//如果需要,从您自己的css文件格式化内容或使用
//Krajee为mPDF格式构建的增强引导css
“cssFile'=>”@vendor/kartik-v/yii2 mpdf/assets/kv mpdf bootstrap.min.css',
//如果需要,将嵌入任何css
'cssInline'=>'.kv-heading-1{font size:14px}',
//动态设置mPDF属性
“选项”=>[“标题”=>“关系”],
“defaultFontSize”=>3,
“marginLeft”=>10,
“marginRight”=>10,
“marginTop”=>30,
“marginBottom”=>11,
“marginHeader”=>6,
“marginFooter”=>6,
//动态调用mPDF方法
“方法”=>[
'SetHeader'=>[$header],
“SetFooter'=>[”

FOOTER

'], ] ]); $pdfName='FILE-\'。日期(“d-m-Y”)。pdf'; Yii::$app->response->format=response::format\u HTML; Yii::$app->response->setDownloadHeaders($pdfName,'application/pdf');
返回$pdf->render()显示代码。。。不仅仅是文字…除非你展示给我们,否则我们无法优化你的代码。你是在网页上这样做的吗?那么你可能应该把它放在某种背景任务中。如果fpdf比mPDF快,还有fpdf-dunno。是的,生成大量页面会很慢。如果你生成的内容那么多,那么很可能有很多内容是相同的,因此你应该尝试找到某种缓存解决方案,这样系统就不必一遍又一遍地做同样的工作。总有一些操作需要在后台执行。因此,您可以将活动存储在db记录中,并使用cron作业使其工作。工作完成后,您可能会收到电子邮件回复。