首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Html呈现为图像

将Html呈现为图像
EN

Stack Overflow用户
提问于 2012-12-13 17:04:44
回答 2查看 1.8K关注 0票数 1

我有一个页面,它有一个叫做预览的表单和按钮。我需要一个方法来生成预览,将生成的HTML转换成图像。

单击预览按钮将启动对控制器操作的ajax调用(我正在使用Yii ),因此我从表单中收集了所有数据,并使用填充的数据生成了预览。

我需要将生成的HTML转换成图像;通过这种方式,我可以调整到所需维度的大小。

我尝试动态生成一个.pdf,然后使用mpdf扩展和imagick生成图像。但是imagick要求pdf是一个现有的文件,而我更喜欢用mpdf生成一个.pdf字符串(我不能为每次点击预览按钮生成和删除pdf )。

从html或pdf字符串生成“动态”图像的好方法是什么?

这是我使用过的代码,但它从imagick返回一个错误,表示图像没有维度:

代码语言:javascript
复制
    $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();
EN

回答 2

Stack Overflow用户

发布于 2012-12-13 17:35:58

您需要重新考虑接受HTML并生成它的图像文件的需求。

我需要将生成的HTML转换成图像;通过这种方式,我可以调整到所需维度的大小。

您可以使用适当的CSS轻松地调整表单中的维度和所有元素的大小。这是我要走的路线。

生成图像似乎有点过火了。

票数 0
EN

Stack Overflow用户

发布于 2012-12-13 21:52:44

为了使用Imagick,您需要设置图片的大小,而不仅仅是解决方案:您可以先尝试这样的方法,然后看看会发生什么吗?

$thumb = new (“/path/”.$filename );$拇指->setImageFormat( "png“);$拇指->拇指图像( 128,128);

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13864827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档