FOray
|
FOray: Running the Application
System RequirementsThe following software must be installed:
The following sofware is optional, depending on your needs:
In addition, the following system requirements apply:
InstallationBasic FOray installation consists of unzipping the Starting FOray as a Standalone ApplicationThe recommended practice for starting FOray from the command line is to run the batch file foray.bat (Windows) or the shell script foray.sh (Unix/Linux). If you write your own scripts, be sure to review these standard scripts to make sure that you get your environment properly configured. The standard scripts for starting FOray require that the environment variable
JAVA_HOME be set to a path pointing to the appropriate Java installation on your
system. Macintosh OSX includes a Java environment as part of its distribution.
We are told by Mac OSX users that the path to use in this case is
foray [options] [-fo|-xml] infile [-xsl file] [-awt|-pdf|-mif|-pcl|-ps|-txt|-svg|-at|-print] <outfile> [OPTIONS] -c configuration-file get configuration key-value pairs from configuration-file -so option-key option-value configure a session-option key-value pair [INPUT] -fo infile XSL-FO input file -xml infile XML input file (-xsl option required) -xsl stylesheet XSL input stylesheet file (use with -xml) [OUTPUT] -pdf outfile Document will be rendered as PDF -mif outfile Document will be rendered as MIF -pcl outfile Document will be rendered as PCL -ps outfile Document will be rendered as PostScript -txt outfile Document will be rendered as text -svg outfile Document will be rendered as SVG slides -area outfile Document will be rendered as an Area Tree (XML) -screen Document will be rendered to the screen -print Document will be rendered to a printer [Examples] org.foray.app.FOray -fo foo.fo -pdf foo.pdf org.foray.app.FOray -xsl foo.xsl -xml foo.xml -pdf foo.pdf org.foray.app.FOray -fo foo.fo -print org.foray.app.FOray -fo foo.fo -screen The -so option allows any configuration option to be set from the command-line by supplying the key and value for that option. See FOray Configuration for details. Using Xalan to Check XSL-FO InputFOray sessions that use -xml and -xsl input instead of -fo input are actually controlling two distinct conversions: Tranforming XML to XSL-FO, then formatting the XSL-FO to PDF (or another FOray output format). Although FOray controls both of these processes, the first is included merely as a convenience and for performance reasons. Only the second is part of FOray’s core processing. If a user has a problem running FOray, it is important to determine which of these two processes is causing the problem. If the problem is in the first process, the user's stylesheet is likely the cause. The FOray development team does not have resources to help with stylesheet issues, although we have included links to some useful Specifications and Books/Articles. If the problem is in the second process, FOray may have a bug or an unimplemented feature that does require attention from the FOray development team. The user is always responsible to provide correct XSL-FO code to FOray. In the case of using -xml and -xsl input, although the user is responsible for the XSL-FO code that is FOray’s input, it is not visible to the user. To make the intermediate FO file visible, the FOray distribution includes xalan.bat (Windows batch file) and xalan.sh (Unix/Linux script), which run only the first (transformation) step, and write the results to a file. When asking for help on the FOray mailing lists, never attach XML and XSL to illustrate the issue. Always run the xalan script and send the resulting XSL-FO file instead. Of course, be sure that the XSL-FO file is correct before sending it. The scripts are invoked the same way that Xalan is:
Note that there are some subtle differences between the "foray" and "xalan" command lines. Memory UsageDepending on several factors, FOray can consume quite a bit of memory. If you are running out of memory when using FOray, here are some ideas that may help:
One of FOray’s stated design goals is to be able to process input of arbitrary size, limited by storage instead of memory, and we will address this issue in a future release. |