php怎么把网页转换成图片格式
时间:2021-11-16
来源:互联网
今天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 怎么把网页转换成图片格式的详细内容,更多请关注php爱好者其它相关文章!
-
币安交易所安全提示合集 时间:2025-05-12
-
币安交易所如何识别官方渠道 时间:2025-05-12
-
币安交易所用户隐私政策 时间:2025-05-12
-
币安交易所如何设置登录保护 时间:2025-05-12
-
币安交易所安全认证流程 时间:2025-05-12
-
Linux中export命令详解(定义、基本用法、高级用法、应用场景等) 时间:2025-05-12
今日更新
-
php怎么实现微信增加菜单
阅读:18
-
php怎么实现3秒跳转页面
阅读:18
-
css里怎样设置字体大小和字体颜色
阅读:18
-
redis中分布式session不一致性怎么办
阅读:18
-
php正则怎么实现替换alt
阅读:18
-
php怎么设置变量类型
阅读:18
-
浅析如何在小程序中开发一个内容列表组件
阅读:18
-
php怎么修改mongo
阅读:18
-
nodejs诞生于哪年
阅读:18
-
php 只能上传1k内的文件怎么办
阅读:18