Browsershot으로 Laravel에서 스크린샷을 만드는 방법
소개
Browsershot은 헤드리스 Chrome 인스턴스를 활용하여 웹 페이지를 이미지 또는 PDF로 변환하는 Spatie의 소프트웨어입니다. 이 게시물에서는 Laravel 애플리케이션에 설치하고 사용하는 방법을 배웁니다.
전제 조건
설치
설치는 매우 간단합니다. Laravel 루트 디렉토리로 이동하여 다음 명령을 입력하십시오.
composer require spatie/browsershot
그러면 composer.json 파일의 종속성 목록이 업데이트되고 공급업체 디렉토리에 browsershot이 설치됩니다.
Puppeteer라는 소프트웨어가 하나 더 필요합니다.
npm install puppeteer --global
나중에 설치/사용에 오류가 발생하는 경우 Spatie의 공식 문서에서 이webpage를 참조하십시오.
용법
Browsershot을 사용하려면 먼저 컨트롤러를 만들어야 합니다.
php artisan make:controller BrowsershotController
처음에는 컨트롤러가 다음과 같이 보일 것입니다.
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class BrowsershotController extends Controller
{
//
}
그리고 여기서 가장 먼저 browsershot을 참조해야 합니다. 6행에 다음 행을 포함하여 이 작업을 수행해 보겠습니다.
use Spatie\Browsershot\Browsershot;
이제 Browsershot을 참조했으므로 사용할 준비가 되었습니다! Google의 스크린샷을 생성하고 저장소 디렉터리에 저장하는 함수를 만들어 봅시다.
function screenshotGoogle() {
Browsershot::url('https://google.com')
->setOption('landscape', true)
->windowSize(3840, 2160)
->waitUntilNetworkIdle()
->save("storage/" . 'googlescreenshot.jpg');
}
각 줄이 무엇을 하는지 설명하겠습니다.
Browsershot::url('https://google.com')
이 줄은 스크린샷을 찍을 URL을 설정합니다.
->setOption('landscape', true)
이 선으로 방향을 가로로 설정합니다.
->windowSize(3840, 2160)
이 줄로 창 크기(너비, 높이)를 설정합니다.
->waitUntilNetworkIdle()
이 줄을 사용하여 네트워크가 유휴 상태인 경우에만 스크린샷을 찍도록 명령을 설정합니다. 이는 페이지가 완전히 로드되었음을 의미합니다.
->save("storage/" . 'googlescreenshot.jpg');
이 줄을 사용하여 스크린샷이 저장되는 경로를 설정합니다.
최종 결과
이제 함수가 준비되었으므로 함수를 실행할 수 있도록 web.php 파일에 경로를 생성해 보겠습니다. web.php 파일을 열고 맨 위에서 컨트롤러를 참조하는지 확인하십시오.
use App\Http\Controllers\BrowsershotController;
Laravel 8 구문을 따르는 항목을 포함합니다.
Route::get('/test-screenshot', [BrowsershotController::class, 'screenshotGoogle']);
이제 브라우저에 URL( http://your-website.com/test-screenshot )을 입력하면 로드 몇 초 후 흰색 화면이 표시됩니다. 이는 스크린샷이 성공적으로 촬영되었음을 의미합니다. storage/app/public 디렉토리로 이동하면 다음과 같은 googlescreenshot이라는 jpg 항목이 표시됩니다.
결론
이 게시물에서는 Browsershot을 사용하여 Laravel 애플리케이션에서 웹사이트의 스크린샷을 만드는 방법을 배웠습니다. 이와 같은 더 많은 튜토리얼, 생각, 내 기술 세계의 일반적인 내용을 보려면 여기 또는에서 나를 팔로우하십시오!
Reference
이 문제에 관하여(Browsershot으로 Laravel에서 스크린샷을 만드는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/denctl/how-to-make-screenshots-in-laravel-with-browsershot-1ai2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)