Chaitanya
Chaitanya

Reputation: 1708

Web Page Rendering Capture

I start with describing the problem itself. Rather than a problem I'm looking for a better solution. I have a asp.net page which has a bunch of images and a link underneath it, Each image is infact the latest rendering of the link underneath it.

I scheduled a bat script which runs every hour to fetch the images through IECapt a web page rendering capture utility. One thing am annoyed about this utility is it takes a lot of time for the 20 images I have and for few because of the flash content it misses to take the actual screenshot of the website.

Now I like to know can this rendering be done by traditional programming am not interested in using any utilities. I'm interested in trying this. The solution need not be necessarily a C# based am ready to try in any other language. Because it gives me a chance to learn.

Thank you.

Upvotes: 2

Views: 1205

Answers (5)

dev.bv
dev.bv

Reputation: 980

We have used ACA WebThumb ActiveX Control (http://www.acasystems.com/en/web-thumb-activex/) quite successfully to capture parts or whole of a web page in the web server and then to write them to a file, just passing in the url. It performs fast enough for our need.

I am not familiar with IECapt, but this might be something you might want to have a look at.

Upvotes: 0

seagulf
seagulf

Reputation: 378

One way is to use IRobotSoft web scraper. You can design a robot to go to the URL every hour, and capture the whole web page as an image via a function CapturePage(imagefile).

I am not sure if it will be better than IECapt though.

Upvotes: 0

George Lambert
George Lambert

Reputation: 626

You should probably look at moz-headless-screenshot

You should be able to embed the functionality you need.

http://blog.mozilla.com/ted/2010/07/29/moz-headless-screenshot/

he also provided a sample embedding client application called moz-headless-screenshot. This is a simple command line tool that takes a URL, image size, and output filename and generates a PNG screenshot of the webpage.

Upvotes: 4

Jay Askren
Jay Askren

Reputation: 10444

You should look into browser shots:

http://browsershots.org/

They do what you want to do for lots of different browsers. It is even open source.

Upvotes: 1

Borealid
Borealid

Reputation: 98509

There's no simple-simple solution for what you're asking to do. This is because rendering HTML, CSS, and Flash is actually a very sophisticated process.

If you're up for quite a bit of coding, you can use the Gecko engine (which powers firefox) or another open-source web-browser core (ie Dillo) to render the page onto a custom canvas. Then save that canvas to a file. Unless you implement support for browser plug-ins, you won't get Flash this way, though. You could try using Gnash or its like. Good luck with that.

I don't know of an open-source project that already does this. It would be neat, though :-). If you write something, please push it to the world; it would be really cool to have a "get a screencap of this URL" tool.

Upvotes: 0

Related Questions