hotrush / webshotter
使用phantomjs生成网页截图
0.1.7
2017-12-27 12:08 UTC
Requires
- php: >=5.4.0
- illuminate/support: 4.*|5.*
Requires (Dev)
- phpunit/phpunit: ^4.8
README
Webshotter
使用PHP/PhantomJS捕获网站截图并保存为PNG、JPG或PDF。
还可以查看这个与lumen和本包一起使用的简单微服务 - hotrush/Webshotter-microservice.
变更日志
0.1.6 - 添加了 waitForImages()
和 imagesLoadingTimeout
0.1.5 - 修复了自定义 $templatePath
,感谢 mizansyed
0.1.3 - 添加了 timeout
属性,允许限制页面加载超时(使用 onResourceTimeout phantomjs 功能)。如果达到超时,将抛出 TimeoutException
。
安装
composer require hotrush/webshotter
Laravel安装
通过composer安装包后,将服务提供者添加到您的 config/app.php 配置文件中
// app/config/app.php
'providers' => [
...,
hotrush\Webshotter\WebshotServiceProvider::class
];
用法
$webshot = new hotrush\Webshotter\Webshot();
$jpg = $webshot
->setUrl('https://github.com')
->setWidth(1200)
->setHeight(800)
->setTimeout(5) // set timeout in seconds, 30 seconds default
->setFullPage(true) // set to true to get full page screenshot (width/height will be used for viewport only)
->waitForImages() // wait when all images will load
->setImagesLoadingTimeout() // images loading timeout, will failt if not loaded
->saveToPng('github', $path);
您可以使用 saveToJpg
、saveToPng
或 saveToPdf
方法。这些方法需要两个参数:文件名(不带扩展名)和保存文件的目标目录。它们都返回保存文件的完整路径
如果您想使用您自己的PhantomJs可执行文件,您可以通过构造函数指定其路径。
new hotrush\Webshotter\Webshot('/path/to/phantomjs');
示例截图
许可证
MIT许可证(MIT)。有关更多信息,请参阅 许可证文件。