首頁 > 後端開發 > PHP問題 > php 怎麼把網頁轉換成圖片格式

php 怎麼把網頁轉換成圖片格式

藏色散人
發布: 2023-03-13 19:58:01
原創
4648 人瀏覽過

php把網頁轉換成圖片格式的方法:1、裝chrome-php/chrome;2、安裝chromium;3、透過控制器實作轉換邏輯即可。

php 怎麼把網頁轉換成圖片格式

php 怎麼把網頁轉換成圖片格式?

PHP將整個網頁html轉換為圖片並儲存【含滾畫面】

#1、安裝chrome-php/chrome

composer require chrome-php/chrome
登入後複製

2、chromium安裝(自行百度)

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中文網其他相關文章!

相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板