HTML을 PHP에서 이미지로 변환하는 방법: 1. html2pdf의 새 폴더를 만듭니다. 2. "include('./html2pdf/mpdf');"를 입력합니다. 3. "function pdf2png(){...}를 사용합니다. "html을 이미지로 변환하는 방법.
이 기사의 운영 환경: Windows 7 시스템, PHP 버전 5.6, DELL G3 컴퓨터.
PHP HTML을 이미지로 변환하는 방법은 무엇입니까?
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');
전체 함수
/* 名称 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; }
를 사용하면 기본적으로 문제를 해결할 수 있습니다. HTML에서 pdf로의 문제 mpdf는 효과적이지 않습니다. 위치 테두리 반경 등과 같은 html의 모든 CSS 스타일을 식별해야 합니다. 위치는 여백을 사용하여 해결할 수 있습니다. 둥근 이미지를 표시해야 하는 경우 이미지를 원형으로 잘라야 합니다.
다음 단계는 pdf를 png 이미지로 변환하는 것입니다. 이 단계에서는 서버에 ImageMagick 구성 요소를 설치하고 한 번에 명령을 실행해야 합니다.
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
쿼리 결과에 따르면, 내 서버 버전은 5.6.3입니다.
yum install -y php56w-pecl-imagick.x86_64 yum install -y php56w-pecl-imagick-devel.x86_64
서버를 다시 시작하세요
service nginx restart service php-fpm restart
phpinfo()를 사용하거나 php -m | grep imagick을 실행하여 설치가 성공했는지 확인하세요
다음 기능을 사용하세요. 생성된 PDF를 png
/* 名称 pdf转换为png图片 功能 将pdf图片转换为png图片 参数数量 2个 1.必须 html代码 可以用file_get_contenth获取 2.必须 生成pdf存放位置路径 实例 code($html,'img/1.pdf'); * */ function pdf2png($PDF, $PNG, $w=50, $h=50){ if(!extension_loaded('imagick')){ return false; } if(!file_exists($PDF)){ return false; } $im = new Imagick(); $im->setResolution($w,$h); //设置分辨率 $im->setCompressionQuality(15);//设置图片压缩的质量 $im->readImage($PDF); $im -> resetIterator(); $imgs = $im->appendImages(true); $imgs->setImageFormat( "png" ); $img_name = $PNG; $imgs->writeImage($img_name); $imgs->clear(); $imgs->destroy(); $im->clear(); $im->destroy(); return $img_name; }
로 변환하세요. 기본적으로 간단한 그림 페이지가 완성됩니다. 이미지 크기는 약 1M입니다. 너무 작아서 명확하지 않습니다.
추천 학습: "PHP 비디오 튜토리얼"
위 내용은 PHP HTML을 그림으로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!