beetpix/silverstripe-screenshot

用于访问 printscreenapi.com 的辅助工具的 SDK

安装: 8

依赖关系: 0

建议者: 0

安全: 0

星星: 0

关注者: 1

分支: 0

开放问题: 0

类型:silverstripe-vendormodule

1.0.2 2020-06-10 09:05 UTC

This package is auto-updated.

Last update: 2024-09-10 18:56:58 UTC


README

Build Status

简单的 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 调用可能需要几秒钟才能完成,具体取决于您设置的参数(例如 delayfullPage),因此建议您通过 AJAX 进行调用,如果添加需要通过 Web 浏览器与用户交互的截图功能,以防止超时。

许可证