GrabzIt's screenshot API is very flexible and can be called in many ways such as from a cronjob, a web page or application. The simplest way to add screenshots or HTML to conversion functionality and more to your Perl application is to follow these steps:
#!/usr/bin/perl use GrabzItClient; # Create the GrabzItClient class # Replace "APPLICATION KEY", "APPLICATION SECRET" with the values from your account! $grabzIt = GrabzItClient->new("Sign in to view your Application Key", "Sign in to view your Application Secret");
# To take a image screenshot $grabzIt->URLToImage("https://www.tesla.com"); # Or to take a PDF screenshot $grabzIt->URLToPDF("https://www.tesla.com"); # Or to convert online videos into animated GIF's $grabzIt->URLToAnimation("http://www.example.com/video.avi"); # Or to capture table(s) $grabzIt->URLToTable("https://www.tesla.com");
# To convert HTML into a image $grabzIt->HTMLToImage("<html><body><h1>Hello World!</h1></body></html>"); # Or convert HTML into a PDF document $grabzIt->HTMLToPDF("<html><body><h1>Hello World!</h1></body></html>"); # Or convert HTML into a CSV, XLSX or JSON document $grabzIt->HTMLToTable("<html><body><table><tr><th>Name</th><th>Age</th></tr> <tr><td>Tom</td><td>23</td></tr><tr><td>Nicola</td><td>26</td></tr> </table></body></html>");
# To convert HTML file into a image $grabzIt->FileToImage("example.html"); # Or convert HTML file into a PDF document $grabzIt->FileToPDF("example.html"); # Or convert HTML file into a CSV, XLSX or JSON document $grabzIt->FileToTable("tables.html");
Finally use one of the two following save methods. The first save method shown below requires the URL of handler.pl this handler will process the callback from GrabzIt and save the resulting screenshot.
However this will force your application to wait while the capture is created, once finished it is automatically saved to the specified file path.
$filepath = "images/result.jpg"; $grabzIt->SaveTo($filepath);
When creating screenshots or converting HTML there are many more options including; configuring the browser height, browser width, screenshot height, screenshot width, the delay before a screenshot is taken and the image format of the screenshot. For all these options and more please see the Client documentation.