Converting Word to FlashPaper files (doc>swf)
Wednesday, April 8th, 2009Why FlashPaper and not PDF? …well, as someone said it “sometimes we just need a simple way to display/share documents on the web … without waiting for a separate reader”. You may want to check this page, which provides an overview of some of the FlashPaper benefits.
Anyway, last year (April 2008) we added a set of transcript files (.swf) in a manuscript collection. To do that, we had to install the Macromedia plug-in, and it worked fine for single files; however, we needed to convert more than 200 files. Of course we could have done it one-by-one …but NO -too many clicks. Instead, we used a combination of MS-DOS and PHP code to batch convert *.doc to *.swf files.
Here is how:
1. created a DOS batch file (convert.bat) and added one line of code:
for %%a in (*.doc) do call C:\PROGRA~1\MACROM~1\FLASHP~1\FlashPrinter.exe %%a -o %%a.swf %%a
This .bat file reads all the *.doc files in a directory, for every *.doc file, it calls the FlashPrinter.exe file and creates the new *.swf file
file01.doc > file.01.doc.swf
In other words, it worked but it kept three unnecessary characters “doc” in the new filename.
2. To fix this, …had to re-use an existing PHP script for renaming filenames and done!
<? $dir = "/source_folder/"; if ($dir_list = opendir($dir)) { while (($filename = readdir($dir_list)) !== false) { if ($filename=="." || $filename=="..") continue; $new = ereg_replace('.doc.', '.', $filename); $old_file = $dir . $filename; $new_file = $dir . $new; rename("$old_file", "$new_file"); } } echo "done!\n"; ?>
Why MS-DOS for the doc>swf conversion?, because I couldn’t get the exec() or passthru() PHP functions to work
Why PHP for renaming the files?, because I had a script already in place.
Why this entry now? because I recently learned that we’ll be using the same format for the transcripts of an Oral History Project.
In case you’re interested in some more MS-DOS tricks, here is a useful page.