プレビューと呼ばれるフォームとボタンのあるページがあります。生成された HTML を画像に変換して、プレビューを生成するメソッドが必要です。
プレビュー ボタンをクリックすると、コントローラー アクション (私は Yii フレームワークを使用しています) への 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();