beetpix / silverstripe-screenshot
用于访问 printscreenapi.com 的辅助工具的 SDK
1.0.2
2020-06-10 09:05 UTC
Requires
- silverstripe/framework: ~4.0
This package is auto-updated.
Last update: 2024-09-10 18:56:58 UTC
README
简单的 SDK,带有辅助工具,可以截图网站,并通过 printscreenapi.com 保存或下载为 PDF 或 JPEG
有一个免费计划,非常适合小型项目,每月提供 100 个新的截图,并且可以无限期地访问缓存的图像和 PDF。
要求
- SilverStripe 框架 4.0+
安装
通过 composer
- 运行
composer require beetpix/silverstripe-screenshot
- 在浏览器中运行
/dev/build
手动
- 下载并解压文件到项目根目录中的
printscreenapi/
- 在浏览器中运行
/dev/build
配置 API 密钥
通过 YAML 或环境文件添加您的 API 密钥
YAML
Beetpix\PrintScreen api_key: YOUR_API_KEY_HERE
环境 (.env)
PRINTSCREENAPI_KEY="YOUR_API_KEY_HERE"
示例用法
获取图像截图 URL
$url = \Beetpix\PrintScreen::inst() ->fullPage() ->getImage('https://www.example.com');
作为 PDF 下载
\Beetpix\PrintScreen::inst() ->downloadPDF('https://www.example.com');
附加选项,清除缓存并读取原始结果
$inst = \Beetpix\PrintScreen::inst() ->device('phone-landscape') ->click('.btn-accept-cookies') ->fullPage() ->flush(); // Get URL $url = $inst->getImage('https://www.example.com'); // Download image $inst->downloadImage('https://www.example.com'); // Read raw result print_r($inst->getResult());
可用方法
有关每个参数的详细说明,请查看以下文档: https://printscreenapi.com/api/
注意
由于 API 调用可能需要几秒钟才能完成,具体取决于您设置的参数(例如 delay
或 fullPage
),因此建议您通过 AJAX 进行调用,如果添加需要通过 Web 浏览器与用户交互的截图功能,以防止超时。