Heim  >  Artikel  >  Backend-Entwicklung  >  Einführung in die Konvertierung von HTML in Bilder in PHP

Einführung in die Konvertierung von HTML in Bilder in PHP

巴扎黑
巴扎黑Original
2017-08-22 17:55:262448Durchsuche

Der folgende Editor zeigt Ihnen eine Implementierungsmethode zum Konvertieren von HTML in Bilder in PHP. Der Herausgeber findet es ziemlich gut, deshalb teile ich es jetzt mit Ihnen und gebe es als Referenz. Folgen wir dem Editor und werfen wir einen Blick darauf.

Parsen Sie den kompilierten HTML-Code auf der Serverseite und konvertieren Sie ihn in Bilder.

Da HTML im Allgemeinen vom Client-Browser analysiert wird, kann der Server den HTML-Code nicht direkt analysieren. Daher müssen wir PHP-Klassenbibliotheken und -Erweiterungen verwenden, um diese Anforderung zu erfüllen.

Der Dateikonvertierungsprozess ist html —> pdf —>png.

Die Klassenbibliothek, die Sie verwenden müssen, ist mPDF, imagick

pdf Die offizielle Download-Adresse lautet: http://www.mpdf1.com/mpdf/index.php ( Empfohlen in 6.0 (Obwohl es etwas groß ist) Dies ist eine Klassenbibliothek, die direkt heruntergeladen und auf den Server hochgeladen werden kann. Es gibt viele Dinge darin 🎜>

die gesamte Funktion

include('./html2pdf/mpdf');

Die Verwendung dieser Funktion kann grundsätzlich das Problem von HTML in PDF lösen. Es ist zu beachten, dass mpdf dies nicht effektiv tun kann Identifizieren Sie alle CSS-Stile in HTML, zum Beispiel Position, Randradius usw. Die Position kann mithilfe des Randes ermittelt werden. Wenn Sie ein abgerundetes Bild anzeigen möchten, müssen Sie das Bild in einen Kreis zuschneiden.

Der nächste Schritt besteht darin, PDF-Dateien in PNG-Bilder zu konvertieren. Für diesen Schritt müssen Sie die ImageMagick-Komponente auf dem Server installieren
/*
名称  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(&#39;<pagebreak sheet-size="&#39;.$w.&#39;mm &#39;.$h.&#39;mm" />&#39;);


//设置pdf显示方式
$mpdf->SetDisplayMode(&#39;fullpage&#39;);

//删除pdf第一页(由于设置pdf尺寸导致多出了一页)
$mpdf->DeletePages(1,1);

$mpdf->WriteHTML($html);

$pdf_name = md5(time()).&#39;.pdf&#39;;

$mpdf->Output($PATH.$pdf_name);

return $pdf_name;

}

und den Befehl einmal ausführen

Führen Sie in diesem Schritt bitte

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


Wählen Sie entsprechend den Abfrageergebnissen aus, dass ich meine Installation entsprechend durchführen möchte auf Ihre Serverversion, also 5.6.3

yum list |grep imagick

Starten Sie den Server neu

yum install -y php56w-pecl-imagick.x86_64
yum install -y php56w-pecl-imagick-devel.x86_64


Verwenden Sie phpinfo() oder führen Sie php -m | aus, um zu überprüfen, ob die Installation erfolgreich war

Verwenden Sie dann die Funktion, um das generierte PDF in PNG zu konvertieren
service nginx restart
service php-fpm restart

ok, es ist im Grunde einfach auszufüllen. Die Seite ist abgebildet. Die Bildgröße beträgt ca. 1M. Es ist zu klein, um klar zu sein.

Das obige ist der detaillierte Inhalt vonEinführung in die Konvertierung von HTML in Bilder in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn