Comment convertir des pages Web en formats d'image avec PHP : 1. Installez chrome-php/chrome ; 2. Installez chrome ; 3. Implémentez la logique de conversion via le contrôleur.
php Comment convertir des pages web au format image ?
PHP convertit l'intégralité de la page Web html en une image et l'enregistre [y compris le défilement]
1 Installez chrome-php/chrome
composer require chrome-php/chrome
2 Installez Chrome (auto-Baidu)
Chromium est un navigateur Web. développé par l'appareil Google. Publié sous plusieurs droits d'auteur libres tels que la licence BSD et le code open source, le développement de Chromium a peut-être commencé dès 2006. Chromium est le moteur du navigateur Chrome de Google et son objectif est de créer un navigateur universel sécurisé, stable et rapide.
3. Logique d'implémentation du contrôleur (framework laravel)
<?php namespace App\Http\Controllers; use App\Http\Controllers\Controller; use HeadlessChromium\BrowserFactory; // 测试控制器 class TestController extends Controller { public function index() { // chromium浏览器引擎位置(Mac系统,根据不同系统设置安装) $browserFactory = new BrowserFactory('/Applications/Chromium.app/Contents/MacOS/chromium'); // starts headless chrome $browser = $browserFactory->createBrowser(); // creates a new page and navigate to an url $page = $browser->createPage(); // 自动化访问网页 $url = 'https://www.jianshu.com'; $page->navigate($url)->waitForNavigation(); // 获取浏览器滚动条宽高,用于设置:setViewport $evaluation = $page->callFunction( 'function() { var width = document.body.scrollWidth; var height = document.body.scrollHeight; return [width,height]; }' ); $value = $evaluation->getReturnValue(); $width = $value[0]; $height = $value[1]; $page->setViewport($width, $height)->await(); // wait for operation to complete // take the screenshot (in memory binaries) // 这里如果截取的图片过大,需要设置超时时间或者调整图片质量 $screenshot = $page->screenshot([ 'format' => 'jpeg', // default to 'png' - possible values: 'png', 'jpeg', 'quality' => 100, // only if format is 'jpeg' - default 100 ]); $screenshot->saveToFile(storage_path('/app/example.png')); // 关闭浏览器 $browser->close(); } }
Apprentissage recommandé : "Tutoriel vidéo PHP"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!