php – 使用TCPDF创建大型PDF的最有效方法是什么?
我正在努力通过使用TCPDF实现报告生成解决方案.我的一些报告很小(2-3页),但用户可以选择一次选择多个报告,并请求所有报告.
目前,我生成一个包含所有报告的PDF,每个报告从一个新页面开始,并使用页面分组,以便为??每个报告重新开始页面编号.当它工作时,它工作得很好,但是在我选择了太多报告之后,代码会生成,我最终会得到一个空的PDF. 更新:我应该提到创建单个PDF是客户端的要求.他们希望拥有PDF目录,以便在选择了多个报告时在单个PDF中轻松切换报告. 我的问题是: >生成此PDF的最有效方法是什么,而不用空白PDF?我似乎无法找到TCPDF可以处理的大小是否有限制. 这是我输出PDF的代码片段.根据库中包含的相关TCPDF示例设置$pdf对象: foreach ($students_info as $student_info) { $info = $student_info->fetch_object(); // get query result object // put in the student information $pdf->set_student_info($info->lastName,$info->firstName,$info->rank,$info->idNum); $pdf->startPageGroup(); // start a page group to handle paging for multiple students $pdf->AddPage(); // add a page $html = "<style>"; $html .= file_get_contents(/*some style sheet*/); $html .= file_get_contents(/*some other style sheet*/); $html .= "</style>"; $html .= start_report_div($i); $html .= '<table class="report_table">'. '<tbody>'. '<tr><td>'; $html .= display_report_title($report); $html .= display_student_info($db,$info); $html .= display_academic_comments_body($db,$info->studentID,$info->sessionID); $html .= display_signature_block($report); $html .= '</td></tr>'. '</tbody>'. '</table>'; $html .= end_report_div(); $pdf->writeHTML($html,// the content true,// put a newline after text false,// paint background,false = transparent true,// reset last cell height false,// add left padding '' // align ); $html = ''; // reset for next student $pdf->lastPage(); // pointer to last page in case we are doing more than one student } 解决方法
我对大文件和TCPDF也有麻烦.我从TCPDF切换到mPDF.该项目基于FPDF和HTML2PDF,并且通过HTML解析更快.
例如TCPDF花了大约70到80秒的文章详细概述(150页有图片,链接和一些东西). 刚刚用mPDF类和函数替换的相同HTML代码和相同的PHP脚本只需要6到8秒就可以创建相同的PDF. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |