Безкоштовна PHP‑бібліотека для конвертації веб‑сторінки в зображення або PDF
Відкритий PHP‑бібліотека, яка дозволяє розробникам конвертувати веб‑сторінку в зображення або PDF лише декількома рядками PHP‑коду.
У сучасну цифрову епоху веб‑розробка та дизайн стали важливішими, ніж будь‑коли. Одним із ключових аспектів цього процесу є забезпечення того, щоб веб‑сторінки виглядали і працювали так, як задумано, у різних браузерах та на різних пристроях. Робити скріншоти веб‑сторінок і експортувати їх в інші формати файлів – це дуже корисний і складний процес. Одним із інструментів, який полегшує роботу розробників, є Browsershot. Він надає просте API, яке дозволяє розробникам без зусиль створювати скріншоти. API приховує складності налаштування headless‑браузера і пропонує чистий і інтуїтивний інтерфейс для роботи.
Browsershot – популярна PHP‑бібліотека, яка дозволяє розробникам створювати високоякісні скріншоти веб‑сторінок і конвертувати їх у веб‑сторінку, зображення або PDF лише декількома рядками PHP‑коду. Бібліотека використовує потужність Puppeteer – бібліотеки Node.js, розробленої Google, яка керує headless‑Chrome або Chromium для взаємодії з веб‑сторінками та захоплення скріншотів. Розробники можуть легко автоматизувати процес захоплення скріншотів сайтів, заощаджуючи значний час і зусилля. Це особливо корисно, коли користувачам потрібно захопити скріншоти декількох веб‑сторінок або виконати регулярне тестування візуальної регресії.
Бібліотека Browsershot пропонує широкий спектр параметрів налаштування для кастомізації процесу створення скріншотів. Розробники можуть задати розмір viewport, налаштувати затримку перед захопленням скріншоту, вказати формат вихідного файлу (наприклад, PNG або JPEG), робити скріншоти повної сторінки або окремих елементів веб‑сторінки, а також застосовувати власні CSS‑стилі до сторінки перед створенням скріншоту. Це PHP‑бібліотека, яку легко інтегрувати у вже існуючі PHP‑проєкти. Якщо ви PHP‑розробник і шукаєте ефективний спосіб автоматизувати створення скріншотів, Browsershot варто вивчити.
Початок роботи з Browsershot
Рекомендований і найпростіший спосіб встановити Browsershot – використати Composer, інструмент керування залежностями для PHP. Будь ласка, використайте наступну команду для безпроблемної установки.
Встановити Browsershot через Composer
composer require spatie/browsershot \nВи також можете встановити її вручну; завантажте останні файли релізу безпосередньо з GitHub репозиторію.
Генерація зображень через PHP API
Відкрита Browsershot‑бібліотека дозволяє розробникам завантажувати HTML‑файл і конвертувати його у різні формати зображень, використовуючи PHP API. За замовчуванням розмір скріншоту відповідає роздільній здатності, яку користувач використовує на своєму комп’ютері, проте його можна налаштувати під свої потреби. Бібліотека включає важливі функції, такі як створення скріншотів повної сторінки, створення сірого зображення, налаштування масштабу пристрою, емуляція мобільного вигляду, відключення JavaScript під час захоплення сторінки, блокування URL‑ів, додавання CSS‑стилів перед скріншотом, виведення зображення безпосередньо в браузер та багато іншого. Нижче наведено приклад створення сірого зображення через PHP API.
Створення сірого зображення через PHP API
Browsershot::url('https://example.com')\n ->windowSize(640, 480)\n ->greyscale()\n ->save($pathToImage);\n\n\n\nPDF Generation via PHP Library
\nВідкрита Browsershot‑бібліотека спрощує розробникам збереження веб‑сторінки у PDF‑файл всередині їх PHP‑застосунків. Якщо шлях, переданий у метод save, має розширення .pdf, буде збережено PDF. У бібліотеці є кілька важливих функцій, пов’язаних з створенням PDF, таких як вказання ширини і висоти PDF‑сторінки, налаштування полів, додавання заголовка і підвалу, приховування заголовка або підвалу, додавання фонового зображення HTML‑сторінки, підтримка орієнтації альбом, експорт конкретних сторінок, встановлення початкового номера сторінки та інше. Нижче наведено приклад, як розробники можуть додавати заголовки та підвали до PDF під час генерації з HTML‑сторінки.
Як додати заголовки та підвали при генерації PDF за допомогою PHP‑коду?
Browsershot::html($someHtml)\n ->showBrowserHeaderAndFooter()\n ->headerHtml($someHtml)\n ->footerHtml($someHtml)\n ->save('example.pdf');\n\n\n\nHeadless Chrome and Puppeteer Integration
\nBrowsershot використовує потужність headless Chrome або Puppeteer для точного рендерингу веб‑сторінок. Це забезпечує відповідність скріншотів, створених Browsershot, реальному вигляду веб‑сторінки у браузері. Крім того, Browsershot підтримує як локальні, так і віддалені браузери, даючи свободу вибору оптимальної конфігурації під ваші потреби. За допомогою headless Chrome або Puppeteer Browsershot гарантує, що відрендерені сторінки максимально відповідають їхньому вигляду у реальному браузері, що забезпечує послідовність і точність скріншотів, а також надійне візуальне представлення для документації та тестування.