Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menukar halaman HTML kepada imej menggunakan PHP

Bagaimana untuk menukar halaman HTML kepada imej menggunakan PHP

PHPz
PHPzasal
2023-04-03 14:11:181534semak imbas

Dalam pembangunan web, selalunya perlu menukar halaman HTML kepada imej untuk fungsi seperti menjana kod pengesahan dan tangkapan skrin e-mel. Sebagai bahasa skrip pelayan yang sangat popular, PHP juga boleh menukar HTML kepada imej. Artikel ini akan menerangkan cara menggunakan PHP untuk menukar halaman HTML kepada imej.

  1. Fahami prinsip HTML kepada imej

Sebelum memperkenalkan pelaksanaan khusus, mari kita fahami secara ringkas prinsip HTML kepada imej. Cara biasa ialah menggunakan pustaka pihak ketiga untuk menjadikan halaman HTML menjadi imej, dan kemudian mengeluarkan imej itu ke penyemak imbas atau menyimpannya sebagai fail.

  1. Pasang sambungan yang diperlukan

PHP tidak menyokong penukaran HTML kepada imej secara asli dan perlu bergantung pada sambungan pihak ketiga. Antara yang lebih popular ialah wkhtmltoimage, dompdf, phantomjs, dsb.

Mengambil wkhtmltoimage sebagai contoh, anda perlu memasang pustaka wkhtmltox pada pelayan terlebih dahulu.

sudo apt-get update
sudo apt-get install wkhtmltopdf

Kemudian pasang sambungan PHP php-wkhtmltox.

sudo apt-get install php-wkhtmltox
  1. Menggunakan sambungan wkhtmltoimage

Selepas memasang sambungan wkhtmltoimage, anda boleh menggunakan kod berikut untuk menukar halaman HTML kepada imej.

<?php
$command = &#39;wkhtmltoimage http://www.baidu.com ./baidu.jpg&#39;;
$result = shell_exec($command);

Dalam kod di atas, arahan wkhtmltoimage menjadikan halaman http://www.baidu.com menjadi imej dan menyimpannya sebagai fail ./baidu.jpg.

Selain menukar imej daripada alamat web, anda juga boleh menukar fail HTML tempatan kepada imej:

<?php
$command = &#39;wkhtmltoimage ./local.html ./local.jpg&#39;;
$result = shell_exec($command);
  1. Gunakan sambungan dompdf

dompdf ialah sambungan PHP yang menukar HTML kepada PDF Ia juga boleh menukar HTML kepada imej.

Pasang sambungan dompdf.

composer require dompdf/dompdf

Gunakan kod berikut untuk menukar halaman HTML kepada imej.

<?php
use Dompdf\Dompdf;

$html = file_get_contents(&#39;http://www.baidu.com&#39;);
$dompdf = new Dompdf();
$dompdf->loadHtml($html);
$dompdf->render();
$file = './baidu.png';
file_put_contents($file, $dompdf->output());

Dalam kod di atas, gunakan file_get_contents untuk mendapatkan kandungan HTML halaman, dan kemudian gunakan Dompdf untuk menjadikannya imej di sebelah pelayan dan simpannya secara setempat.

  1. Gunakan sambungan phantomjs

Serupa dengan dompdf, phantomjs juga merupakan alat yang boleh menjadikan halaman HTML menjadi imej. Pasang pustaka phantomjs.

sudo apt-get install phantomjs

Kemudian gunakan kod berikut untuk menukar halaman HTML kepada imej.

<?php
$html = file_get_contents('http://www.baidu.com');
$command = 'phantomjs rasterize.js ' . escapeshellarg($html) . ' ./baidu.png 800px*600px';
$result = shell_exec($command);

Dalam kod di atas, perintah phantomjs menggunakan skrip rasterize.js untuk melengkapkan pemaparan halaman. Antaranya, parameter pertama ialah kandungan HTML yang akan diberikan, parameter kedua ialah fail output, dan parameter ketiga ialah saiz imej output.

  1. Ringkasan

Artikel ini menerangkan cara menggunakan PHP untuk menukar halaman HTML kepada imej. Kami boleh menggunakan sambungan seperti wkhtmltoimage, dompdf atau phantomjs untuk mencapai fungsi ini. Apabila menggunakan sambungan yang berbeza, anda juga perlu memberi perhatian kepada pemasangan persekitaran bergantungnya dan penggunaan perpustakaan yang berkaitan.

Atas ialah kandungan terperinci Bagaimana untuk menukar halaman HTML kepada imej menggunakan PHP. 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