{"id":27811,"date":"2017-07-29T09:44:57","date_gmt":"2017-07-29T07:44:57","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=27811"},"modified":"2017-07-29T09:44:57","modified_gmt":"2017-07-29T07:44:57","slug":"browser-screenshots-with-php-and-google-chrome-59","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2017\/07\/29\/browser-screenshots-with-php-and-google-chrome-59\/","title":{"rendered":"Browser screenshots with PHP and Google Chrome 59+"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p><a href=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/07\/screenshot.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"27812\" data-permalink=\"https:\/\/mamchenkov.net\/wordpress\/2017\/07\/29\/browser-screenshots-with-php-and-google-chrome-59\/screenshot\/\" data-orig-file=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/07\/screenshot.png?fit=1600%2C900&amp;ssl=1\" data-orig-size=\"1600,900\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"screenshot\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/07\/screenshot.png?fit=660%2C371&amp;ssl=1\" class=\"aligncenter size-medium wp-image-27812\" src=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/07\/screenshot-500x281.png?resize=500%2C281&#038;ssl=1\" alt=\"\" width=\"500\" height=\"281\" srcset=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/07\/screenshot.png?resize=500%2C281&amp;ssl=1 500w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/07\/screenshot.png?resize=768%2C432&amp;ssl=1 768w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/07\/screenshot.png?resize=1024%2C576&amp;ssl=1 1024w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/07\/screenshot.png?w=1600&amp;ssl=1 1600w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/07\/screenshot.png?w=1320 1320w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>The <a href=\"https:\/\/developers.google.com\/web\/updates\/2017\/05\/nic59\">release of Google Chrome 59<\/a> brought some really cool features. \u00a0One of them in particular was all over the technology news &#8211; headless mode. \u00a0Being able to run the browser engine without the graphical interface, and having control from the command line and API has many benefits.<\/p>\n<p>One of the benefits is being able to take web page screenshots. \u00a0&#8220;<a href=\"https:\/\/murze.be\/2017\/07\/easily-covert-webpages-to-images-using-php\/\">Easily convert webpages to images using PHP<\/a>&#8221; is one of the many blogs and articles that explain how to do it, using your preferred programming language (or mine in this case). \u00a0<a href=\"https:\/\/github.com\/spatie\/browsershot\">Browsershot<\/a> is a very simple PHP library, which you can install with Composer and start using straight away.<\/p>\n<p>I&#8217;ve tried it out and it works pretty well. \u00a0The screenshot above has been taken by the following script:<\/p>\n<pre class=\"brush: php; title: ; notranslate\" title=\"\">\r\n&lt;?php \r\nrequire_once 'vendor\/autoload.php';\r\nuse Spatie\\Browsershot\\Browsershot;\r\n\r\nBrowsershot::url('https:\/\/mamchenkov.net')\r\n  -&gt;windowSize(1600,900)\r\n  -&gt;save('screenshot.png');\r\n<\/pre>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>The release of Google Chrome 59 brought some really cool features. \u00a0One of them in particular was all over the technology news &#8211; headless mode. \u00a0Being able to run the browser engine without the graphical interface, and having control from the command line and API has many benefits. One of the benefits is being able &hellip; <a href=\"https:\/\/mamchenkov.net\/wordpress\/2017\/07\/29\/browser-screenshots-with-php-and-google-chrome-59\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Browser screenshots with PHP and Google Chrome 59+<\/span><\/a><\/p>\n<!-- google_ad_section_end -->\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"Browser screenshots with PHP and Google Chrome 59+ #WebDev #PHP #Chrome","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_links_to":"","_links_to_target":""},"categories":[1,18,62,1334],"tags":[1955,38,1330],"keyring_services":[],"class_list":["post-27811","post","type-post","status-publish","format-standard","hentry","category-general","category-programming","category-technology","category-web-work","tag-google-chrome","tag-php","tag-web-development"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":28180,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/11\/06\/clockwork-php-developer-tools-integration-for-google-chrome\/","url_meta":{"origin":27811,"position":0},"title":"Clockwork &#8211; PHP developer tools integration for Google Chrome","author":"Leonid Mamchenkov","date":"November 6, 2017","format":false,"excerpt":"Clockwork is a PHP library and a Google Chrome extension that work together to provide a new tab in the Google Chrome DevTools for PHP developers.\u00a0 The tab contains all sorts of useful information such as variable values, application tracing, timing, and more.","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/11\/clockwork-500x223.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":42426,"url":"https:\/\/mamchenkov.net\/wordpress\/2019\/04\/09\/chrome-extensions-php-console-and-javascript-errors-notifier\/","url_meta":{"origin":27811,"position":1},"title":"Chrome Extensions: PHP Console and JavaScript Errors Notifier","author":"Leonid Mamchenkov","date":"April 9, 2019","format":false,"excerpt":"Here are a couple of handy Google Chrome extensions that I came across the other day. PHP Console PHP Console can display PHP errors and var dumps in the Google Chrome Developer Console and notification popups. It can also execute PHP code remotely, with the help of this server side\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/04\/javascript-error-notifier.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/04\/javascript-error-notifier.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/04\/javascript-error-notifier.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":26956,"url":"https:\/\/mamchenkov.net\/wordpress\/2016\/11\/25\/chrome-extension-var_masterpiece-turn-php-var_dump-into-a-thing-of-beauty\/","url_meta":{"origin":27811,"position":2},"title":"Chrome Extension : var_masterpiece &#8211; turn PHP var_dump() into a thing of beauty","author":"Leonid Mamchenkov","date":"November 25, 2016","format":false,"excerpt":"Var Masterpiece is a Google Chrome add-on, which formats PHP var_dump() output into\u00a0something much more beautiful and useful. \u00a0You can customize the type colors and a few other things in the extension options, once installed.","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"var_masterpiece","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2016\/11\/var_masterpiece-500x210.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":27886,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/08\/31\/cakephp-with-nightwatchjs-on-travis-ci\/","url_meta":{"origin":27811,"position":3},"title":"CakePHP with NightwatchJS on Travis CI","author":"Leonid Mamchenkov","date":"August 31, 2017","format":false,"excerpt":"My colleague Andrey Vystavkin has been setting up a testing environment for our CakePHP projects recently. \u00a0We had one before, of course, using PHPUnit. \u00a0But this time we wanted to add Google Chrome headless browser with some form of JavaScript test suite, so that we could cover functional tests and\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":11355,"url":"https:\/\/mamchenkov.net\/wordpress\/2008\/09\/03\/google-chrome-a-new-punch-in-the-browser-fight\/","url_meta":{"origin":27811,"position":4},"title":"Google Chrome &#8211; a new punch in the browser fight","author":"Leonid Mamchenkov","date":"September 3, 2008","format":false,"excerpt":"For the last few days, the biggest thing in the technical news is Google Chrome browser (check the comics book, introducing the browser, download beta).\u00a0 Sure, we had our share of browser wars, and we still do, but this is something completely different.\u00a0 Most of today's browsers started back in\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":15385,"url":"https:\/\/mamchenkov.net\/wordpress\/2011\/08\/12\/native-client-built-into-google-chrome-14\/","url_meta":{"origin":27811,"position":5},"title":"Native Client built into Google Chrome 14","author":"Leonid Mamchenkov","date":"August 12, 2011","format":false,"excerpt":"TechChrunch points out that Native Client is coming built into Google Chrome 14: As Google notes on their Chrome Blog blog today, the latest beta version of Chrome (version 14) has Native Client built-in. Their implementation allows for C and C++ code to be executed inside of the browser while\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/27811","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/comments?post=27811"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/27811\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=27811"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=27811"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=27811"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=27811"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}