PHP를 사용하여 웹페이지를 이미지 형식으로 변환하는 방법: 1. chrome-php/chrome을 설치합니다. 2. chromium을 설치합니다. 3. 컨트롤러를 통해 변환 논리를 구현합니다.
php 웹 페이지를 이미지 형식으로 변환하는 방법은 무엇입니까?
PHP는 웹페이지 전체 html을 이미지로 변환하여 저장합니다. [스크롤 포함]
1. chrome-php/chrome을 설치합니다.
composer require chrome-php/chrome
2. chromium을 설치합니다. Google 장치에서 개발되었습니다. BSD 라이센스 및 오픈 소스 코드와 같은 여러 무료 저작권에 따라 출시된 Chromium의 개발은 빠르면 2006년에 시작되었을 수 있습니다. Chromium은 Google Chrome 브라우저의 엔진이며 그 목적은 안전하고 안정적이며 빠른 범용 브라우저를 만드는 것입니다.
페이지에 상호 작용이 너무 많으면 실제 상황에 따라 조정해야 합니다. 추천 학습: "3. 컨트롤러 구현 로직(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(); } }
위 내용은 PHP에서 웹페이지를 이미지 형식으로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!