场景是:我有一个表tbl_filebox,其中包含生成pdf文件所需的基本信息。从这些记录中,我提取了html页面的数据,我的pdf有8页。因此,通过循环运行它并首先生成html文件。
$fileboxData = $fileboxModel->getFileboxData();
foreach($fileboxData as $fb){
//code block to render 8 php files.
$filename =$basePath.'/'.$fb['file_id'].'.html';
file_put_contents($filename, $content);
}
在其他函数调用之后,我将这些html文件转换为pdf文件并将它们存储在同一个地方。
public function convertHtmlToPdf(){
$fileboxModel = new FileBoxModel();
$fileboxData = $fileboxModel->getFileboxData();
require_once(APPPATH."components/dompdf/dompdf_config.inc.php");
$basePath = './filebox/';
foreach($fileboxData as $fb){
$basePath='./filebox/'.$fb['rendering_state'].'/'.$fb['file_id'];
$html_file = $basePath.'.html';
if(file_exists($html_file)){
$dompdf = new DOMPDF();
$dompdf->load_html(file_get_contents($html_file));
$dompdf->set_paper("a4", "portrait" );
$dompdf->render();
$output = $dompdf->output();
$file_to_save = $basePath.".pdf";
if(file_put_contents($file_to_save, $output))
unset($dompdf);
}
}
}
问题是......这个循环只执行两次。第三次,使用以下消息生成错误。
Fatal error: Uncaught exception 'DOMPDF_Exception' with message 'Frame not found in cellmap' in C:\wamp\www\test_project\components\dompdf\include\cellmap.cls.php on line 244
我在这里做错了什么。 Plz帮助!!提前致谢