次のエディターは、php で html を画像に変換する実装方法を提供します。編集者はこれがとても良いと思ったので、参考として共有します。エディターに従って、コンパイルされた HTML をサーバー側で解析して画像に変換してみましょう。
HTMLは通常クライアントのブラウザによって解析されるため、サーバーはHTMLコードを直接解析できません。したがって、この要件を完了するには、php クラス ライブラリと拡張機能を使用する必要があります。
ファイル変換プロセスは html —> pdf —> png です。使用する必要があるクラス ライブラリは、mPDF、imagick
pdf です。公式のダウンロード アドレスは、http://www.mpdf1.com/mpdf/index.php (少し大きいですが、6.0 をお勧めします)。これはクラスライブラリです。直接ダウンロードしてサーバーにアップロードするだけです。その中には新しいhtml2pdfフォルダーを作成し、
include('./html2pdf/mpdf');
次のステップは、PDF を PNG 画像に変換することです
このステップでは、サーバーに ImageMagick コンポーネントをインストールし、一度にコマンドを実行する必要があります
/*
名称 html转换为pdf图片
功能 将html页面转换为pdf图片(部分css样式无法识别)
参数数量 2个
1.必须 html代码 可以用file_get_contenth获取
2.必须 生成pdf存放位置路径
3.非必须 pdf宽
4.非必须 pdf高
返回值 图片名称
实例 code($html,'img/1.pdf');
* */
function html2pdf($html, $PATH, $w=414 ,$h=736){
//设置中文字体(很重要 它会影响到第二步中 图片生成)
$mpdf=new mPDF('utf-8');
$mpdf->autoScriptToLang = true;
$mpdf->autoLangToFont = true;
//设置pdf的尺寸
$mpdf->WriteHTML('<pagebreak sheet-size="'.$w.'mm '.$h.'mm" />');
//设置pdf显示方式
$mpdf->SetDisplayMode('fullpage');
//删除pdf第一页(由于设置pdf尺寸导致多出了一页)
$mpdf->DeletePages(1,1);
$mpdf->WriteHTML($html);
$pdf_name = md5(time()).'.pdf';
$mpdf->Output($PATH.$pdf_name);
return $pdf_name;
}
yum install -y ImageMagick yum install -y ImageMagick-devel yum install -y gcc yum install -y php-pear yum install -y ghostscript yum install -y ghostscript-devel.x86_64
yum list |grep imagick
yum install -y php56w-pecl-imagick.x86_64 yum install -y php56w-pecl-imagick-devel.x86_64
後は、生成されたpdfを関数を使ってpngに変換するだけ
service nginx restart service php-fpm restart
okで、簡単なページの画像がほぼ完成します。画像サイズは約1Mです。小さすぎてはっきりわかりません。
以上がPHPでHTMLを画像に変換する方法の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。