1

プレビューと呼ばれるフォームとボタンのあるページがあります。生成された 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();
4

2 に答える 2

0

Imagick を使用するには、ソリューションだけでなく、画像のサイズを設定する必要があります。最初にこのようなことを試して、何が起こるかを確認できますか?

$thumb = new imagick("/path/".$filename);
$thumb->setImageFormat( "png" );
$thumb->thumbnailImage( 128, 128);
于 2012-12-13T21:52:44.303 に答える
0

HTML を取得してその画像ファイルを生成するという要件を再考する必要があります。

生成された HTML を画像に変換する必要があります。このようにして、必要な寸法にサイズを変更できます。

適切な CSS を使用して、フォーム内の寸法とすべての要素のサイズを簡単に変更できます。これが私がたどるルートです。

画像を生成するのはやり過ぎのようです。

于 2012-12-13T17:35:58.377 に答える