jueves, 31 de octubre de 2013

PHP Webpage Capture

I always do some new research for capturing a snapshot of a webpage.
As always, I can find plenty of sites offering this service in exchange of a monthly payment... And today I found something new: A free site!

http://screen.microweber.com/shot.php?url=http://www.yahoo.com

Works really good and fast!

Well, it's not that you can use this server for free. This is obviously an experiment or a private use that I just discovered accidentally.

The good news is that this is based on a free library you can download and install in your server (sorry for those like Godaddy, don't have access to install specific applications. You should use your own computer as an Internet Server)

https://github.com/microweber/screen

Microweber (Usage)

  • Upload to your webserver
  • Make the bin executable chmod +x /var/www/html/screen/bin/phantomjs
  • Make your folder writable
  • Open your browser to index.php

API

You can directly render the taken screen-shot with the shot.php file
You can render any link as image by passing it as url parameter
shot.php?url=google.com
You can specify height and width: shot.php?url=google.com&w=300&h=100
If you want to crop/clip the screen shot, you can do so like this:shot.php?url=google.com&w=800&h=600&clipw=800&cliph=600

Demo

You can also set width and height, for example if you want to test how a page looks on small resolution.http://screen.microweber.com/shot.php?url=m.facebook.com&w=300&h=100

Dependencies

  • FontConfig must be installed - apt-get/yum install fontconfig
  • FreeType is also required - apt-get/yum install freetype*

PahntomJS
Is a library which runs an EXE file (for Windows. If you have Linux or MAc you can download the correspondant file)

Github download: https://github.com/microweber/screen

Cons:
1) If you don't define a background color, it will render it with black.
2) You need to run a program.