您好,登錄后才能下訂單哦!
本篇內容主要講解“php如何把網頁轉換成圖片格式”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“php如何把網頁轉換成圖片格式”吧!
php把網頁轉換成圖片格式的方法:1、裝chrome-php/chrome;2、安裝chromium;3、通過控制器實現轉換邏輯即可。
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('/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如何把網頁轉換成圖片格式”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。