Project

flash_tool

0.0
No commit activity in last 3 years
No release in over 3 years
A ruby wrapper for swftool command line tool. http://www.swftools.org/ Flash tool is small and mini tool for creating swf files from pdfs, pictures and fonts and parsing data from flash files.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies
 Project Readme

Flash Tool¶ ↑

A ruby wrapper for swftool command line tool. www.swftools.org

Flash tool is small and mini tool for creating swf files from pdfs, pictures and fonts and parsing data from flash files.

Install¶ ↑

gem install flash_tool

Use¶ ↑

With this wrapper you commands from swftools program.

SWFTools is a collection of utilities for working with Adobe Flash files. With Flash tool you can easely creates and manipulates flash files.

Creating flash files¶ ↑

Creataing flash files from documents¶ ↑

With Flash tool you can create swf file from pdf, jpeg (jpeg and jpg extension), png, gif, fonts (ttf, afm, pfa, pfb formats) and wav(this funcionality is untested and you can often have problems with SWFTools installation with command wav2swf)

Simple creating flash object from pdf file

swfile = FlashTool::FlashObject.new('path_to_file.pdf')
swfile.pages('1-10')
swfile.jpegquality('80')
swfile.save('outputfile_path.swf') # no need to declare ouptutfile_path in save if you used swfile.output() method before

Creating file from other format is very similar

Example for jpg

swfile = FlashTool::FlashObject.new('path_to_file.jpg')
swfile.output('outputfile_path.swf')
swfile.save()

Flash tool automaticly recognize extension of file and call propriete SWFTool program If you use files without extension you just simply add string of extension when initialize FlashObject

swfile = FlashTool::FlashObject.new('path_to_file','jpg')

You can use tempfile

swfile = FlashTool::FlashOject.from_blob('path_to_file','jpg')

Creating flash with viewer

swfile = FlashTool::FlashObject.new('path_to_file.pdf')
swfile.pages('1-10')
swfile.viewer('path_to_viewer_file')
swfile.save('outputfile_path.swf')

You can use with the block

swfile = FlashTool::FlashObject.new('path_to_file.pdf') do |f|
 f.pages('1-10')
 f.viewer('path_to_viewer_file')
 f.save('outputfile_path.swf')
end

SWFTool command will be called when you save object.

Creating flash from scritps¶ ↑

With SWFTool you can use scripts for creating flash files. More on wiki.swftools.org/index.php/Swfc

flash_object = FlashTool::FlashScript.new("path_to_script")
flash_object.save(output_file)

Other way

FlashTool::FlashScript.create("path_to_script","output_path")

It is possible to push flash data in variable

flash = FlashScript.flash_data("path_to_script")

or

flash_object = FlashTool::FlashScript.new("path_to_script")
flash = flash_object.cgi

Parsing text from file¶ ↑

It is very simple

FlashTool::FlashTool.parse_text('path_to_file.swf')

Geting data from flash files¶ ↑

You can get data from flash files with swfdump tool

FlashTool::FlashTool.swfdump('path_to_file.swf', 'command') #use swfdump options http://www.swftools.org/swfdump.html

Don’t use option text it is buggy, instead that use method FlashTool.parse_text With method swfdump output is string

Better way

FlashTool::FlashTool.(command) List of command can get from http://www.swftools.org/swfdump.html

Examples

FlashTool::FlashTool.rate(file)   #return Float
FlashTool::FlashTool.width(file)  #return Integer
FlashTool::FlashTool.height(file) #return Integer
FlashTool::FlashTool.frames(file) #return Integer

Other methods returns String

All this methods call commands swfdump, every time you call method. If you want to do it in one pass use

FlashTool::FlashTool.flash_info(file)

Returns hash with keys ‘width’, ‘rate’, ‘height’, ‘frames’, and all values are strings

Flash combine¶ ↑

This is advance technique for combining flash files. It is possible to combine two or more flash files More about this on www.swftools.org/swfcombine.html For simple adding viewer use FlashObject and creating vith view method

flash = FlashCombine.new() do |f|
 f.master(inputs)
 f.slave("viewport",TEST_SWF)
 f.rate(25)
 f.output(output_file)
 f.save()
end