>  기사  >  백엔드 개발  >  PHP에서 웹페이지를 이미지 형식으로 변환하는 방법

PHP에서 웹페이지를 이미지 형식으로 변환하는 방법

藏色散人
藏色散人원래의
2021-11-12 09:30:054639검색

PHP를 사용하여 웹페이지를 이미지 형식으로 변환하는 방법: 1. chrome-php/chrome을 설치합니다. 2. chromium을 설치합니다. 3. 컨트롤러를 통해 변환 논리를 구현합니다.

PHP에서 웹페이지를 이미지 형식으로 변환하는 방법

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(&#39;/Applications/Chromium.app/Contents/MacOS/chromium&#39;);
        // 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에서 웹페이지를 이미지 형식으로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.