我有一个页面,其中包含一个名为预览的表单和按钮。我需要一种方法来生成预览,将生成的 HTML 转换为图像。
单击预览按钮会启动对控制器操作的 ajax 调用(我使用的是 Yii 框架),因此我从表单中收集了所有数据并生成了包含填充数据的预览。
我需要将生成的 HTML 转换为图像;通过这种方式,我可以重新调整到我需要的尺寸。
我尝试动态生成 .pdf,然后从 pdf 生成图像,并使用 mpdf 扩展名和 imagick。但是 imagick 要求 pdf 是现有文件,而我更喜欢使用 mpdf 生成 .pdf 字符串(我无法为每次单击预览按钮生成和删除 pdf)。
什么是从 html 或“动态”生成的 pdf 字符串生成图像的好方法?
这是我使用的代码,但它从imagick返回错误,说图像没有尺寸:
$html2pdf = Yii::app()->ePdf->mpdf('','A4');
$html2pdf->WriteHTML($this->render('preview', array("data" => $data, "imageProvider" => $arrayImage),true));
$content_PDF = $html2pdf->Output('', EYiiPdf::OUTPUT_TO_STRING);
$im = new Imagick();
$im->readImageBlob( $content_pdf );
//$im->setIteratorIndex(0);
$im->setResolution( 800, 600 );
$im->setImageFormat( "jpeg" );
header( "Content-Type: image/jpeg" );
echo $im->getImage();