Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menukar php html kepada gambar

Bagaimana untuk menukar php html kepada gambar

藏色散人
藏色散人asal
2021-09-26 09:44:245487semak imbas

Cara menukar html kepada imej dalam php: 1. Buat folder baharu html2pdf; 2. Masukkan "include('./html2pdf/mpdf');" 3. Gunakan "function pdf2png(){ ...}" kaedah untuk menukar html kepada imej.

Bagaimana untuk menukar php html kepada gambar

Persekitaran pengendalian artikel ini: sistem Windows 7, PHP versi 5.6, komputer DELL G3.

Bagaimana untuk menukar php html kepada imej?

Cara menukar html kepada imej dalam php

Menghuraikan dan menukar html yang disusun kepada imej pada bahagian pelayan.

Memandangkan html biasanya dihuraikan oleh penyemak imbas klien, pelayan tidak boleh menghuraikan kod html secara langsung. Jadi kita perlu menggunakan perpustakaan kelas php dan sambungan untuk melengkapkan keperluan ini.

Proses penukaran fail ialah html —> pdf —>png.

Pustaka kelas yang anda perlu gunakan ialah mPDF, imagick

pdf Alamat muat turun rasmi ialah: http://www.mpdf1.com/mpdf/index.php (ia disyorkan untuk menggunakan 6.0 walaupun ia terlalu besar) Klik) Ini adalah perpustakaan kelas yang boleh dimuat turun terus dan dimuat naik ke pelayan Terdapat banyak perkara di dalamnya. Cipta folder html2pdf baharu dan perkenalkan

include('./html2pdf/mpdf');

fungsi keseluruhan

/*
名称  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;
 
}

Gunakan ini Fungsi ini pada asasnya boleh menyelesaikan masalah menukar HTML kepada PDF Perlu diingat bahawa mpdf tidak dapat mengenal pasti semua gaya CSS dalam HTML dengan berkesan, seperti kedudukan, jejari sempadan, dll. Kedudukan boleh diselesaikan menggunakan margin Jika anda perlu memaparkan imej bulat, anda perlu memangkas imej ke dalam bulatan.

Langkah seterusnya ialah menukar imej pdf kepada png Langkah ini memerlukan pemasangan komponen ImageMagick pada pelayan dan menjalankan arahan sekali

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

Pada langkah ini, beri perhatian untuk menjalankan <.>

yum list |grep imagick
Menurut hasil pertanyaan, pilih untuk memasang saya mengikut versi pelayan anda sendiri: 5.6.3

yum install -y php56w-pecl-imagick.x86_64
yum install -y php56w-pecl-imagick-devel.x86_64
Mulakan semula pelayan

service nginx restart
service php-fpm restart
Gunakan phpinfo() atau jalankan php -m |. grep imagick untuk melihat Adakah pemasangan berjaya? halaman mudah pada asasnya disiapkan. Saiz imej adalah kira-kira 1M. Ia terlalu kecil untuk menjadi jelas.

Pembelajaran yang disyorkan: "

Tutorial Video PHP

"
/*
名称  pdf转换为png图片
功能  将pdf图片转换为png图片
参数数量 2个
1.必须 html代码 可以用file_get_contenth获取
2.必须 生成pdf存放位置路径
 
实例  code($html,&#39;img/1.pdf&#39;);
 * */
function pdf2png($PDF, $PNG, $w=50, $h=50){
if(!extension_loaded(&#39;imagick&#39;)){
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;
}

Atas ialah kandungan terperinci Bagaimana untuk menukar php html kepada gambar. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn