{"id":19883027,"url":"https://github.com/daandesmedt/phpheadlesschrome","last_synced_at":"2025-04-05T21:08:02.924Z","repository":{"id":40816784,"uuid":"111032875","full_name":"DaanDeSmedt/PHPHeadlessChrome","owner":"DaanDeSmedt","description":"A PHP wrapper for using Google Chrome Headless mode. Convert URL or HTML to a PDF / screenshot. Easy to use and OOP interfaced.","archived":false,"fork":false,"pushed_at":"2024-04-24T20:18:30.000Z","size":50,"stargazers_count":89,"open_issues_count":1,"forks_count":20,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-04-24T21:30:13.580Z","etag":null,"topics":["chrome","chrome-browser","chromium","composer","headless","headless-chrome","html","html-to-image","html-to-pdf","pdf","pdf-generation","php","php-html","php-library","screenshot","url-to-image","url-to-pdf","webpage"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DaanDeSmedt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-11-16T23:14:32.000Z","updated_at":"2024-06-10T13:32:38.476Z","dependencies_parsed_at":"2024-06-10T13:32:35.827Z","dependency_job_id":"d5f41abe-7631-4a1a-860d-8679e312db62","html_url":"https://github.com/DaanDeSmedt/PHPHeadlessChrome","commit_stats":{"total_commits":21,"total_committers":7,"mean_commits":3.0,"dds":0.2857142857142857,"last_synced_commit":"2e76bc95d7ea93114c9b40cd014c3283a7f19ab1"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaanDeSmedt%2FPHPHeadlessChrome","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaanDeSmedt%2FPHPHeadlessChrome/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaanDeSmedt%2FPHPHeadlessChrome/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaanDeSmedt%2FPHPHeadlessChrome/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DaanDeSmedt","download_url":"https://codeload.github.com/DaanDeSmedt/PHPHeadlessChrome/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247399877,"owners_count":20932876,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chrome","chrome-browser","chromium","composer","headless","headless-chrome","html","html-to-image","html-to-pdf","pdf","pdf-generation","php","php-html","php-library","screenshot","url-to-image","url-to-pdf","webpage"],"created_at":"2024-11-12T17:19:12.043Z","updated_at":"2025-04-05T21:08:02.897Z","avatar_url":"https://github.com/DaanDeSmedt.png","language":"PHP","readme":"PHPHeadlessChrome\n===============\n\nHeadless Chrome is shipping in Chrome 59. It's a way to run the Chrome browser in a headless environment. Essentially, running Chrome without chrome! It brings all modern web platform features provided by Chromium and the Blink rendering engine to the command line.\n\nPHPHeadlessChrome provides a simple usage helper class to create PDF and / or screenshots using a Headless Chrome instance.\n**Trigger PDF / Screenshots generation for webpages / string HTML or local URL.**\n\nIn order to use this PHPHeadlessChrome helper make sure Google Chrome is correctly installer from version 59 or onwards.\n\n[![Latest Stable Version](https://poser.pugx.org/daandesmedt/phpheadlesschrome/v)](https://packagist.org/packages/daandesmedt/phpheadlesschrome)\n[![Total Downloads](https://poser.pugx.org/daandesmedt/phpheadlesschrome/downloads)](https://packagist.org/packages/daandesmedt/phpheadlesschrome)\n[![Daily Downloads](https://poser.pugx.org/daandesmedt/phpheadlesschrome/d/daily)](https://packagist.org/packages/daandesmedt/phpheadlesschrome)\n[![License](https://poser.pugx.org/daandesmedt/phpheadlesschrome/license)](https://packagist.org/packages/daandesmedt/phpheadlesschrome)\n\n## Installation\n\nInstall the package through [composer](http://getcomposer.org):\n\n```\ncomposer require daandesmedt/phpheadlesschrome\n```\n\nMake sure, that you include the composer [autoloader](https://getcomposer.org/doc/01-basic-usage.md#autoloading) somewhere in your codebase.\n\n\n## Usage\n\nUse the `PHPHeadlessChrome` tool when you want to convert a webpage / HTML text or (local) HTML file to a PDF or image screenshot.\n\n\n## Working examples\n\nWorking examples can be found in the `examples` folder.\n\n\n## Webpage (URL) to PDF\n\n```php\n\u003c?php \n\nrequire __DIR__ . '/../vendor/autoload.php';\n\nuse daandesmedt\\PHPHeadlessChrome\\HeadlessChrome;\n\n$headlessChromer = new HeadlessChrome();\n$headlessChromer-\u003esetUrl('http://www.google.be');\n$headlessChromer-\u003esetBinaryPath('C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome');\n$headlessChromer-\u003esetOutputDirectory(__DIR__);\n$headlessChromer-\u003etoPDF('output.pdf');\n\nprint 'PDF generated to : ' . $headlessChromer-\u003egetFilePath();\n```\n\n\n## Webpage (URL) to Screenshot (image)\n\n```php\n\u003c?php \n\nrequire __DIR__ . '/../vendor/autoload.php';\n\nuse daandesmedt\\PHPHeadlessChrome\\HeadlessChrome;\n\n$headlessChromer = new HeadlessChrome();\n$headlessChromer-\u003esetUrl('http://www.google.be');\n$headlessChromer-\u003esetBinaryPath('C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome');\n$headlessChromer-\u003esetOutputDirectory(__DIR__);\n$headlessChromer-\u003etoScreenShot('output.jpg');\n\nprint 'Screenshot saved to : ' . $headlessChromer-\u003egetFilePath();\n```\n\n\n## HTML (String) to PDF\n\n```php\n\u003c?php \n\nrequire __DIR__ . '/../vendor/autoload.php';\n\nuse daandesmedt\\PHPHeadlessChrome\\HeadlessChrome;\n\n$headlessChromer = new HeadlessChrome();\n$headlessChromer-\u003esetBinaryPath('C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome');\n$headlessChromer-\u003esetOutputDirectory(__DIR__);\n$headlessChromer-\u003esetHTML('\u003ch1\u003eHeadless Chrome PHP example\u003c/h1\u003e\u003ch3\u003eHTML to PDF\u003c/h3\u003e');\n$headlessChromer-\u003etoPDF('output.pdf');\n\nprint 'PDF generated to : ' . $headlessChromer-\u003egetFilePath();\n```\n\n\n## HTML (String) to Screenshot (image)\n\n```php\n\u003c?php \n\nrequire __DIR__ . '/../vendor/autoload.php';\n\nuse daandesmedt\\PHPHeadlessChrome\\HeadlessChrome;\n\n$headlessChromer = new HeadlessChrome();\n$headlessChromer-\u003esetBinaryPath('C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome');\n$headlessChromer-\u003esetOutputDirectory(__DIR__);\n$headlessChromer-\u003esetHTML('\u003ch1\u003eHeadless Chrome PHP example\u003c/h1\u003e\u003ch3\u003eHTML to PDF\u003c/h3\u003e');\n$headlessChromer-\u003etoScreenShot('output.jpg');\n\nprint 'Screenshot saved to : ' . $headlessChromer-\u003egetFilePath();\n```\n\n\n\n## HTML local file to PDF\n\n```php\n\u003c?php \n\nrequire __DIR__ . '/../vendor/autoload.php';\n\nuse daandesmedt\\PHPHeadlessChrome\\HeadlessChrome;\n\n$headlessChromer = new HeadlessChrome();\n$headlessChromer-\u003esetBinaryPath('C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome');\n$headlessChromer-\u003esetOutputDirectory(__DIR__);\n$headlessChromer-\u003esetHTMLFile(__DIR__ . '\\assets\\HTMLFile.html');\n$headlessChromer-\u003etoPDF('output.pdf');\n\nprint 'PDF generated to : ' . $headlessChromer-\u003egetFilePath();\n```\n\n\n## HTML local file to Screenshot (image)\n\n```php\n\u003c?php \n\nrequire __DIR__ . '/../vendor/autoload.php';\n\nuse daandesmedt\\PHPHeadlessChrome\\HeadlessChrome;\n\n$headlessChromer = new HeadlessChrome();\n$headlessChromer-\u003esetBinaryPath('C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome');\n$headlessChromer-\u003esetOutputDirectory(__DIR__);\n$headlessChromer-\u003esetHTMLFile(__DIR__ . '\\assets\\HTMLFile.html');\n$headlessChromer-\u003etoScreenShot('output.jpg');\n\nprint 'Screenshot saved to : ' . $headlessChromer-\u003egetFilePath();\n```\n\n\n## HTML to DOM dump\n\n```php\n\u003c?php \n\nrequire __DIR__ . '/../vendor/autoload.php';\n\nuse daandesmedt\\PHPHeadlessChrome\\HeadlessChrome;\n\n$headlessChromer = new HeadlessChrome();\n$headlessChromer-\u003esetBinaryPath('C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome');\n$headlessChromer-\u003esetOutputDirectory(__DIR__);\n$headlessChromer-\u003esetHTMLFile(__DIR__ . '\\assets\\HTMLFile.html');\n\nvar_dump($headlessChromer-\u003egetDOM());\n```\n\n\n## Set mobile mode\n\n```php\n$headlessChromer-\u003euseMobile();\n```\n\n## Set window size\n\n```php\n$headlessChromer-\u003esetWindowSize(375, 667);\n```\n\n## Disable display of header and footer in the PDF print\n\n```php\n$headlessChromer-\u003edisablePDFHeader();\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaandesmedt%2Fphpheadlesschrome","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdaandesmedt%2Fphpheadlesschrome","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaandesmedt%2Fphpheadlesschrome/lists"}