...
Software Server scripts are used by Polyglot to automate the interaction with software that is capable of converting from one file format to another. These scripts can directly wrap command line utilities that carry out conversions for use in Polyglot or split the steps of opening a file in one format and saving a file in a different format, typical of GUI driven applications. These wrapper scripts can be written in pretty much any text based scripting language. Below we show a few simple examples. Full details on the creation of these wrapper scripts, the required naming convensions, and required header convensions please refer to the the Scripting Manual.
AnchorCommandLIne CommandLIne
Command Line Applications
CommandLIne | |
CommandLIne |
Bash Script
The following is an example of a bash wrapper script for ImageMagick. Note that it is fairly straight forward. The comments at the top contain the information Polyglot needs to use the application: the name and version of the application, they type of data it supports, the input formats it supports, and the output formats it supports.
Code Block | ||
---|---|---|
| ||
#!/bin/sh #ImageMagick (v6.5.2) #image #bmp, dib, eps, fig, gif, ico, jpg, jpeg, pdf, pgm, pict, pix, png, pnm, ppm, ps, rgb, rgba, sgi, sun, svg, tga, tif, tiff, ttf, x, xbm, xcf, xpm, xwd, yuv #bmp, dib, eps, gif, jpg, jpeg, pdf, pgm, pict, png, pnm, ppm, ps, rgb, rgba, sgi, sun, svg, tga, tif, tiff, ttf, x, xbm, xpm, xwd, yuv convert $1 $2 |
Batch File
Some GUI based applications are capable of being called in a headless mode. The following is an example wrapper script for OpenOffice called in its headless mode.
Code Block | ||
---|---|---|
| ||
REM OpenOffice (v3.1.0) REM document REM doc, odt, rtf, txt REM doc, odt, pdf, rtf, txt "C:\Program Files\OpenOffice.org 3\program\soffice.exe" -headless -norestore "-accept=socket`,host=localhost`,port=8100;urp;StarOffice.ServiceManager" "C:\Program Files\OpenOffice.org 3\program\python.exe" "C:\Converters\DocumentConverter.py" "%1%" "%2%" |
Anchor | ||||
---|---|---|---|---|
|
AutoHotKey
The following is an example of an AutoHotKey script to convert files with Adobe Acrobat, a GUI driven application. Note it contains a similar header in the comments at the beginning of the script. Also note that the open and save operation can be broken into two separate scripts.
...
Code Block | ||||
---|---|---|---|---|
| ||||
public class WordCountMeasure implements Serializable,Measure { private static final long SLEEP = 10000; @Override public Similarity compare(Descriptor feature1, Descriptor feature2) throws Exception { Thread.sleep(SLEEP); return new SimilarityNumber(0); } @Override public SimilarityPercentage normalize(Similarity similarity) { return null; } @Override public String getFeatureType() { return WordCountMeasure.class.getName(); } @Override public String getName() { return "Word Count Measure"; } @Override public Class<WordCountMeasure> getType() { return WordCountMeasure.class; } } |
...