我有一個名爲preview的窗體和按鈕。我需要一種方法來生成預覽,將生成的HTML轉換爲圖像。將Html渲染爲圖像
點擊預覽按鈕開始對控制器動作(我使用Yii Framework)的ajax調用,所以我收集了表單中的所有數據並生成了預填充的數據。
我需要將生成的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();
是的,我知道這是不是一個很好的解決方案,但這種方式的結果是一個對象,無法點擊,只有圖像)。我需要這個結果。 有什麼想法? –
您可以隨時在預覽窗體中放置疊加div,增加疊加層上的z-index並將不透明度降低到0.然後用戶將無法單擊預覽窗體,但可以查看它。我仍然認爲HTML解決方案不是圖像選項。 – Lowkase