溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php如何把網(wǎng)頁轉換成圖片格式

發(fā)布時間:2021-11-12 09:32:04 來源:億速云 閱讀:513 作者:iii 欄目:編程語言

本篇內(nèi)容主要講解“php如何把網(wǎng)頁轉換成圖片格式”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“php如何把網(wǎng)頁轉換成圖片格式”吧!

php把網(wǎng)頁轉換成圖片格式的方法:1、裝chrome-php/chrome;2、安裝chromium;3、通過控制器實現(xiàn)轉換邏輯即可。

php如何把網(wǎng)頁轉換成圖片格式

php 怎么把網(wǎng)頁轉換成圖片格式?

PHP將整個網(wǎng)頁html轉換為圖片并保存【含滾屏】

1、安裝chrome-php/chrome

composer require chrome-php/chrome

2、chromium安裝(自行百度)

Chromium是由Google主導開發(fā)的網(wǎng)頁瀏覽器。以BSD許可證等多重自由版權發(fā)行并開放源代碼,Chromium的開發(fā)可能早自2006年即開始。Chromium 是 Google 的Chrome瀏覽器背后的引擎,其目的是為了創(chuàng)建一個安全、穩(wěn)定和快速的通用瀏覽器。

3、控制器實現(xiàn)邏輯(laravel框架)

<?php

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;
use HeadlessChromium\BrowserFactory;

// 測試控制器
class TestController extends Controller
{

    public function index()
    {

        // chromium瀏覽器引擎位置(Mac系統(tǒng),根據(jù)不同系統(tǒng)設置安裝)
        $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();

        // 自動化訪問網(wǎng)頁
        $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();

    }

}
如果頁面有過多的交互,需根據(jù)實際情況調整。

到此,相信大家對“php如何把網(wǎng)頁轉換成圖片格式”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

php
AI