我正在使用tcpdf(版本5.9.161)。 writeHtml()
只在我的代码中呈现一个html表。如果该表仅适用于一个pdf页面,那么它可以正常工作,但如果表格大于60页面那么它将需要100-110秒。一个PHP脚本在2-3秒内制作这个html。
的php.ini:
Max Execution Time 300 sec
memory limit 128MB
我的代码是:
$pdf = new MYPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$pdf->setHeaderFont(Array( PDF_FONT_NAME_MAIN, '',PDF_FONT_SIZE_MAIN ));
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetFontSubsetting(false);
$pdf->SetHeaderData(K_PATH_IMAGES.'alpha.png', PDF_HEADER_LOGO_WIDTH,'BSS Tech', '');
$pdf->setPrintHeader(true);
$pdf->SetAutoPageBreak(true, 30);
$pdf->setPrintFooter(true);
$pdf->AddPage();
$pdf->writeHTML($html, true, false, false, false, '');
ob_clean();
$pdf->Output("report.pdf", 'I'); // finalizing pdf document
和HTML,不使用任何类型的CSS
此表用于以pdf格式显示至少600条记录
$html .= ' <div style="text-align: center;">
<table border="0" cellpadding="2px" cellspacing="0"><tbody>
<tr >
<th align="left" style="width:120px;font-weight:bold" >Organization Name:</th>
<th align="left">' . $OrgName . '</th>
<th align="left" style="width:100px;font-weight:bold">Field :</th>
<th align="left" >' . $fieldName . '</th>
</tr>
<tr >
<th align="left" style="width:120px;font-weight:bold">Component:</th>
<th align="left" >' . $type . '</th>
<th align="left" style="width:100px;font-weight:bold"></th>
<th align="left" >' . '' . '</th></tr>
</tbody></table></div>';
$html .= ' <div style="text-align: center;">
<table border=".5" cellpadding="2px" cellspacing="0"><tbody>
<tr >
<th align="left" BGCOLOR="#DBFEF8" style="width:5%;font-weight:bold" >SI#:</th>
<th align="left" BGCOLOR="#DBFEF8" style="width:13%;font-weight:bold" >CP Component</th>
<th align="left" BGCOLOR="#DBFEF8" style="width:15%;font-weight:bold">Component ID :</th>
<th align="left" BGCOLOR="#DBFEF8" style="width:10%;font-weight:bold">Circuit No</th>
<th align="left" BGCOLOR="#DBFEF8" style="width:12%;font-weight:bold">Location</th>
<th align="left" BGCOLOR="#DBFEF8" style="width:15%;font-weight:bold">Over All Status</th>
<th align="left" BGCOLOR="#DBFEF8" style="width:15%;font-weight:bold">Remark</th>
<th align="left" BGCOLOR="#DBFEF8" style="width:15%;font-weight:bold">Date</th>
</tr>';
for ($i=0 ; $i<count($clientID);$i++){
$html .= '
<tr >
<th align="left" style="width:5%;">'.($i+1).'</th>
<th align="left" style="width:13%;">'.$clientID[$i]['Type'].'</th>
<th align="left" style="width:15%;">'.$clientID[$i]['ComponentID'].'</th>
<th align="left" style="width:10%;">'.$clientID[$i]['CircuitLabel'].'</th>
<th align="left" style="width:12%;">'.$clientID[$i]['Location'].'</th>
<th align="left" style="width:15%;">'.$clientID[$i]['OverAllStatus'].'</th>
<th align="left" style="width:15%;">'.$clientID[$i]['FieldObservation'].'</th>
<th align="left" style="width:15%;">'.$clientID[$i]['SurveyDate'].'</th>
</tr>';
}
$html .= '</tbody></table></div>';
}