Command line 将Flash(SWF)帧渲染为图像(PDF、PNG、JPG)

Command line 将Flash(SWF)帧渲染为图像(PDF、PNG、JPG),command-line,flash,Command Line,Flash,我想编写一个python脚本,它获取一组swf文件,并将它们渲染为单个图像文件 每个swf文件只有一帧(文本、图片等),根本没有动画。我已经尝试了swftools工具集(windows版本)中的“渲染”命令,但结果图像的分辨率太低 所以我需要的是: 一个命令行工具(Windows/Linux)或python库,可以将swf中的一帧渲染为位图,或者更好地渲染为类似PDF的内容(如果可以保留文本数据,那就太酷了)。如果可以手动设置目标分辨率/大小,那就太好了 提前谢谢 例如,您可以构建一个AIR应用

我想编写一个python脚本,它获取一组swf文件,并将它们渲染为单个图像文件

每个swf文件只有一帧(文本、图片等),根本没有动画。我已经尝试了swftools工具集(windows版本)中的“渲染”命令,但结果图像的分辨率太低

所以我需要的是:

一个命令行工具(Windows/Linux)或python库,可以将swf中的一帧渲染为位图,或者更好地渲染为类似PDF的内容(如果可以保留文本数据,那就太酷了)。如果可以手动设置目标分辨率/大小,那就太好了


提前谢谢

例如,您可以构建一个AIR应用程序,加载每个SWF,获取屏幕截图并将其写入文件

问题是你需要启动一些东西来进行渲染,据我所知,如果没有播放器或它的一些开源实现,你就无法做到这一点

我认为你最好的选择是去空中,是免费的和跨平台的。如果您已经习惯了python,那么AS3应该很容易掌握

嗯,


很抱歉回答我自己的问题,但是我通过浏览源代码发现了swfrender(swftools的一部分)的一个未记录的功能

swfrender path/to/my.swf -X<width of output> -Y<height of output>
-o<filename of output png>
swfrender路径/to/my.swf-X-Y
-o
正如您可能猜到的那样,X选项允许您确定输出的宽度(以像素为单位),Y对高度也有相同的作用。如果只设置一个参数,则会根据原始高宽比选择另一个参数(非常有用)

这对我来说是一个好办法,但由于Zarate提供了一个可能更好的解决方案(我正在考虑swf到PDF的转换),他值得表扬


干杯

有时SWFRender会被非常沉重的文件卡住,尤其是在制作300dpi+图像时。在这种情况下,啃咬可能有助于:

gnash -s<scale-image-factor> --screenshot last --screenshot-file output.png -1 -r1 input.swf

指定生成图像的确切大小。

谢谢!我没想过。我会尝试一下,然后公布我的结果。这项工作没有透明度,同时还有其他选择吗?
-j width -k height