Do you need website thumbnails, or full-page screenshots, really fast and reliably? Do you need to rasterize complex SVG vector graphics fast and reliably? Those are some of the core benefits of the PageLr service.
When you need to visualize so many web pages as previews or thumbnails that you can't keep up doing it manually.
Did you maybe try some other screenshot service on the net, and they turned out to be too slow, too unreliable or too cumbersome to use. You need to get screenshots and thumbnails in near real time, because you can't know beforehand what pages you need to show.
With our simple RESTFul API you get an instant result, and with a straightforward standard web behavior, you issue a Request (GET) and receives a Response (your screenshot). It is so simple so you don’t need any code, you
can just use a HTML
<img> tag, and specify the SRC attribute with a web address to the PageLr website thumbnail generator.
Before PageLr, screenshot services relied on Desktop Browser technologies for rendering, be it Chrome, Webkit, Firefox, Gecko or even Internet Explorer (Trident) installed and running on servers. With PageLr we have built our own cloud and server optimized engine, a uniquely superior screenshot technology.
The PageLr service core is unique, even though it is based on the WebKit engine, with WebKit as the base all the HTML/CSS/SVG/Script etc. are all fully supported. What we did is to redesign/rewritten/refactored/restructured webkit:
How it handles multiple request in parallel, PageLr is natively multithreaded/multi-session, none of the standard desktop engines (WebKit/Gecko/Trident) are, they only have one main UI thread.
How it decides a page is loaded:
A standard desktop browser fires an onload event as soon as it has a DOM in memory, which does not necessarily means there is something to render
PageLr uses different logic to detect when content is ready to be rendered, optimizing for the screenshot scenario, not for an interactive user scenario.
How fonts are handled, desktop browsers lazy loads fonts, with PageLr we try to have most already in memory when a request comes in, for instance
Google web fonts, we never even download them if a page uses them, we’ve got all of them on our servers already.
You can see yourself on this test page https://www.pagelr.com/repros/FontSamples.html it uses some 1228 Google web fonts. Open in it your desktop browser and you’ll
see even a normal browser things it’s heavy. Then capture a fresh one with PageLr
Hosted as a simple library and can run inside a webserver natively (It runs natively in an ASP.NET WebApi host), no need for costly and complex cross process communications and coordination.
Thousands of C++ source files tweaked and edited to achieve these and many more optimizations…
Depends on WebKit how to deals/parses/layout/renders the content keeping all the web content intelligence webkit already has.
PageLr is the result of more than 2 years re-writing and optimizing its core engine.
With all this PageLr is unique, it allows it to scale up and out, to have a simple request/response API, no need for a client to issue request and then poll to see when it is finished, if a page cant load in 30 seconds I will return a timeout. (Average is ~6 seconds for the top 1000 sites on the net) If you look at the perf, for instance one of the fastest and simple pages on the net like http://google.com PageLr returns in a seconds or less, the best competitors in around 5 seconds.
Please give us your feedback, questions, or suggestions on how we can improve our service and ensure it does what you need.
The API gives the flexibility to customize the width and height of the website thumbnails. You can have full-page screenshots, i.e. full height. Small thumbnails, large full screen snapshots etc.
You can also specify the browser width (b_width) used to layout the page, i.e. the viewport width. For instance set the size to one of a smartphone and you can see how well the responsive design works on the page.
PageLr caches requested images by default on its servers and in the browser to speed up the delivery and display of same images. When an image exists in the browser's cache, it is used instead of downloading it from the service. When PageLr receives a request for an image, it returns a cached version if one exists, otherwise it generates and returns a new image of the web page. Users can specify down to the millisecond the desired caching behavior, if a fresh capture is desired you can maximum age allowed to 0.
It is important to point out that PageLr only captures and returns images of web pages to the users of the service. It is not responsible for the content of the images. The service renders what the user asks for, same as a client based web browser, renders the page the user visits, in such case the browser is not responsible for what content the user choses to render on their screen.
CloudCraic S.L. (VAT NO: ESB93381747)
PageLr is built with passion in the city of Malaga in the south of Spain.
If you are ever visiting you can find us at:
Calle Alhondiga 6, 2o C - D