views:

174

answers:

2

Hi!

I would like to write a python script that takes a bunch of swf files and renders them to individual image files.

Each swf file has just one frame (text, pictures etc.) and no animations at all. I have already tried the render command from the swftools toolset (The windows version), but the resolution of the resulting image is too low.

So what I need is:

A command line tool (Windows/Linux) or a python library which renders one frame from a swf to a bitmap or better to something like a PDF (It would be cool if the text data could be retained). It would be great if the target resolution/size could be set manually.

Thanks in advance!

+1  A: 

Hi there,

You could for example build an AIR app that loads each SWF, takes the screenshot and writes it to a file.

The thing is you'll need to kick off something to do the render and, as far as i know, you can't do that without the player or some of its Open Source implementation.

I think your best bet is going AIR, the SDK is free and cross-platform. If you are used to python, the AS3 necessary should be easy enough to pick up.

HTH,

J

Zárate
Thanks! Haven't thought of that. I'll give it a try and post my results.
das_weezul
+1  A: 

I'm sorry to answer my own question, but I found an undocumented feature of swfrender (part of the swftools) by browsing through the sources.

swfrender path/to/my.swf -X<width of output> -Y<height of output>
-o<filename of output png>

As you might have guessed the X option lets you determine the width (in pixels) of the output and Y does the same for the height. If you just set one parameter, then the other one is chosen in relation to the original height-width-ratio (pretty useful)

That does the trick for me but as Zarate offered a solution that might be even better (I'm thinking of swf to PDF conversion) he deserves the credits.

Cheers

das_weezul