Command-line Interface
The Command-line Interface is provided as an executable file. You can call it from either a Windows batch file or a Linux / Macintosh shell script.
Antenna House Formatter V7.4 can be executed from the Command-line Interface by:
- Specifying an FO (XSL Formatting Objects) files to be formatted and the destination of the formatted file.
- Specifying an XML and XSL file which automatically starts transformation with XSLT, then formatting and finally outputting.
- As a filter that reads FO from standard in and writes PDF to standard out.
Executable File Name
The executable file names are as follows:
Windows | AHFCmd.exe |
---|---|
Linux / | AHFCmd |
Environment Variables have to be set in order to execute these files. In Windows versions, these are automatically set by the installer. In non-Windows versions, they have to be set. See Environment Variables.
Running on Windows
To run the command-line program of Antenna House Formatter V7.4 Windows, enter the following command:
> cd [Install directory]
> AHFCmd -d samples\sample.fo -o \tmp\sample.pdf
If Antenna House Formatter V7.4 Windows is successfully installed, the following message will be displayed:
AHFCmd : Antenna House Formatter V7.4 XX Windows : 7.4.X.XXXX (XXXX-XX-XXTXX:XX:XX+09)
Copyright (c) 1999-2025 Antenna House, Inc.
AHFCmd : Formatting finished normally.
Then you can view sample.pdf in the \tmp directory.
Running from a Shell Script
In Antenna House Formatter V7.4 for non-Windows, the installation program will place the shell script file named run.sh in the [Install directory]. This is a sample shell script for running the command-line program AHFCmd. This script sets the necessary environment variables in the shell, and runs AHFCmd. To run the command-line program of Antenna House Formatter V7.4 for non-Windows using this script, enter the following command from your terminal window:
$ cd [Install directory]
$ ./run.sh -d samples/sample.fo -o /tmp/sample.pdf
If Antenna House Formatter V7.4 for non-Windows is successfully installed, the following message will be displayed, then you can get sample.pdf in /tmp directory:
AHFCmd : Antenna House Formatter V7.4 XX Xxxxxx : 7.4.X.XXXX (XXXX-XX-XXTXX:XX:XX+09)
Copyright (c) 1999-2025 Antenna House, Inc.
AHFCmd : Formatting finished normally.
The same parameters in the same formats apply to both AHFCmd and run.sh.
Parameters
The following parameters apply to the Command-line Interface: Parameters with “*” in the following table indicate a negative meaning if no is placed in the beginning of the command. For example, -nomultivol cancels to output PDF in separate volume.
When specifying a path name that contains a space, the path name must be enclosed in double quotation marks. If two conflicting parameters are specified, the last parameter on the line takes precedence.
The default parameter can be specified with the environment variable. The setting with the environment variable is compensated before the parameter specified here and being evaluated. This feature does not function with Antenna House Formatter V7.4 Lite.
Parameter | Default | Functions | ||
---|---|---|---|---|
-d Document | Specifies the URI of the target XML/FO/HTML document to be formatted.
| |||
-s Stylesheet |
Specifies the URI of the target XSL/CSS document.
If the specified XML document is FO, or the XML file contains the processing instruction <?xml-stylesheet ...?> and the stylesheet is specified, or the specified document is HTML, there is no need to specify a stylesheet.
An XSLT Processor is necessary to use XSL stylesheets. In Windows versions, MSXML is used as the standard XSLT Processor. If you want to use another XSLT Processor or in non-Windows versions, you need to set which XSLT Processor you are going to use. Setting the XSLT Processor is performed by “Environment Variables” or “Option Setting File”. If the specified document is CSS, it will be the last user stylesheet. It is applied posterior to the stylesheet added by -css and the Option Setting File specified by -i. | |||
-f Formatter-Type | AUTO |
Specifies the formatter type from the following:
| ||
-css User-Stylesheet | Specifies the CSS user stylesheet you want to add. -css can be specified any number of times. It is applied by specified order prior to the stylesheet specified by -s. | |||
-htmlcs Default-HTML-Charset | UTF-8 | Specifies the default encoding of HTML. This setting is applied to HTML whose encoding is unknown. If this parameter is omitted, UTF-8 is considered default. | ||
-o Output-File | @STDOUT |
Specifies the path name of the resulting output file.
| ||
-i Option-Setting-File | Specifies the path name of “Option Setting File” which defines Antenna House Formatter V7.4 options in XML format. Any number of these parameters can be specified. If any content of this file is changed it automatically overwrites the previous settings. Because only a described parameter in the Option Setting File is evaluated, it is possible to change a part of setting by adding a file that describes those parameters that should be changed. If conflicting values for a parameter are specified in the Option Setting File and the Command-line, the last specified value overwrites the previous value. | |||
-ix | Imports
AHFSettings.xml (AHFSettings(x86).xml for Windows x86 version)
in the application data directory indicated as the environment variable APPDATA as the Option Setting File. This parameter is equivalent to
| |||
-p Printer-Name |
Specifies the printer name where the formatted result is outputted
If this parameter is omitted, -p @PDF is automatically specified.
@DOCX, @TEXT, @AreaTree and @CSSDebugTree are not effective with Antenna House Formatter V7.4 Lite. | |||
-start Start-Page | 1 | Specifies the start page and the end page of output document. If the start page is omitted or the specified value is 0, the start page is considered the first page. If the end page is omitted or 0, or the specified value exceeds the actual page number, the end page is considered the last page. If the setting is inconsistent, (for example, -start 5 -end 3) an error occurs. When -multivol parameter is specified, the value does not mean the page number but the separate volume number. For example -start 3 outputs the third separate volume. | ||
-end End-Page | 0 | |||
-page string |
Specifies the page to output as follows:
| |||
-addbp [Number-Pages] * |
Outputs a blank page at the end of the output. A blank page is the same size as the last output page. You can also specify how many pages to output like -addbp 2. It is invalid for separate volume output.
no-LT
| |||
-2pass * | When formatting a huge document with a large amount of unresolved <fo:page-number-citation>, a large amount of memories are consumed because the cancellation of the page information is impossible. Therefore, the limit is caused in the number of pages to format. This parameter solves that problem by making the formatting two passes. Although its processing time may be increased, only the page number information which should be solved will consume the memory and the memory consumption will be extremely decreased. See “Formatting Large Document”. This setting is invalid with CSS formatting. no-LT | |||
-dpw Length | 210mm | Specifies the default page width with a numerical value and its unit. | ||
-dph Length | 297mm | Specifies the default page height with a numerical value and its unit. | ||
-base BaseURI | Specifies the default base URI. | |||
-hypdic Directory | Specifies the directory where the hyphenation dictionary exists. | |||
-msxmlver version | 6 | Specifies the maximum version of MSXML used internally when msxml="true" is specified. Any version from 6 to 3 can be specified. For example, when 5 is specified, Antenna House Formatter V7.4 searches MSXML in order of MSXML5 → MSXML4 → MSXML3 and adopts the first found MSXML. If nothing is specified or the specified value is outside the range, the version will be considered 6. This setting is effective only with Windows versions. | ||
-param name=value | Specifies the parameter name and the value of xsl:param used with the XSLT transformation. If the value contains a white space, specify “name=value”. -param can be specified multiply. | |||
-fontalias name=substname | Specifies font substitutions. If the option -fontalias A=B is specified, all of font family-name A in the FO file will be substituted with font B. If you are going to specify multiple substitutions, you must specify the -fontalias parameter for every substitution. You can also specify this option using the “Option Setting File”. The substitution is not recursive, or is done only once. | |||
-afc * | Specifies whether the use of <axf:formatter-config> is permitted. It's permitted by default. When -noafc is specified, <axf:formatter-config> will be ignored. no-LT | |||
-x Error-Level | 2 |
Permits setting the error level at which Antenna House Formatter V7.4 will stop formatting and
abort the job.
| ||
-silent | Suppresses the output of Error Messages. Normally error information is sent to stdout or stderr. | |||
-stdout | Error Messages is sent to stdout only if this parameter is specified. It is output to stderr by default. | |||
-stderr | Error Messages is also sent to stderr if this parameter is specified. It is output to stderr by default. | |||
-xmlerr * | Outputs error messages in XML format. The namespace URL is http://www.antennahouse.com/names/Error. The output XML is as simple as follows:
| |||
-analyze * | Analyzes the area tree for stylistic problems, such consecutive lines that all end with the same word. Requires “-p @AreaTree”. Settings for automated analysis of the area tree are performed in the Option Setting File. For more details about the operation, see Automated Analysis. no-LT | |||
-pgbar * | Outputs the progress of the page generation to the console. “.” shows the progress of formatting, “-” shows the progress of the outputted page. | |||
-v | Shows the version, copyright and license information. Cannot be used with any other parameter. | |||
-h -? | Displays a list of all the Command-line parameters. |
Parameters for Printer
Parameter | Default | Functions |
---|---|---|
-ps Printer-Setting-File | Specifies the path name of the Printer Setting file. See “Printer Setting File”. | |
-copies Copies | 1 | Specifies the number of copies when outputting to a printer. The default value is 1. |
-collate * | This parameter is effective only when outputting multiple copies. When -collate is specified, printing from the specified starting page to the ending page repeated. When -nocollate is specified, the same page is continuously printed as multiple copies. | |
-gdismooth Value | 0 | Specifies whether anti-aliasing is performed or not when printing. The sum of the following values can be specified:
|
Parameters for PDF Output
Parameter | Default | Functions | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
-pdfver Version | PDF1.5 | Specifies the PDF version from the following:
| ||||||||||
-tpdf * | Generates Tagged PDF. Ignored if PDF cannot be tagged depending on the PDF versions. no-LT | |||||||||||
-lpdf * | Generates linearized PDF optimized for the display on the Web. no-LT | |||||||||||
-prevp * | Outputs pages in reverse order. | |||||||||||
-multivol * | Specifies to output PDF in separate volume. The error occurs when FO doesn't include the <axf:output-volume-info> extension element. When this parameter is specified, -start/-end can be specified as the unit of separate volume. | |||||||||||
-encrypt Key-Length | 128rc4 |
Specifies the key length when encrypting the PDF file. The key length can be specified from the following:
| ||||||||||
-nemd * | Prevents metadata from being encrypted when encrypting a PDF to be created. | |||||||||||
-userpwd Password | Specifies the user password to be set for the PDF. Specify up to 32 ASCII characters for PDF1.3 to 1.7 and 127 ASCII characters for PDF2.0 or later. | |||||||||||
-ownerpwd Password | Specifies the owner password to be set for the PDF. Specify up to 32 ASCII characters for PDF1.3 to 1.7 and 127 ASCII characters for PDF2.0 or later. | |||||||||||
-npt * |
Prohibits printing the PDF file. Use -ppa when you specify PDF version 1.4 or later and -encrypt 40rc4 is not specified.
It is necessary to specify -ownerpwd so that this parameter is effective. | |||||||||||
-ncg * |
Prohibits making changes of the PDF file.
It is necessary to specify -ownerpwd so that this parameter is effective. | |||||||||||
-ncc * |
Prohibits copying the content of the PDF file.
It is necessary to specify -ownerpwd so that this parameter is effective. | |||||||||||
-nca * |
Prohibits adding comments and form fields to the PDF file.
It is necessary to specify -ownerpwd so that this parameter is effective. | |||||||||||
-nff * | Prohibits filling in of form fields and signing of the PDF file. Ignored when you specify PDF1.3 or -encrypt 40rc4. In order to make this parameter effective, other parameter settings may be required. For more details, see also ISO 32000-1 or ISO 32000-2. | |||||||||||
-nab * |
Prohibits text access for screen reader devices of the PDF file.
Ignored when you specify PDF1.3 or -encrypt 40rc4. It is necessary to specify -ncg so that this parameter is effective. | |||||||||||
-nad * |
Prohibits inserting, deleting and rotating the PDF pages.
Ignored when you specify PDF1.3 or -encrypt 40rc4. It is necessary to specify -ncg so that this parameter is effective. | |||||||||||
-ppa Value | 2 |
Specifies whether to permit printing of the created PDF with one of the following values:
| ||||||||||
-peb Value | 1 |
Specifies whether to embed the fonts in PDF or not with one of the following values:
| ||||||||||
-pee Fontname | Embeds the specified font in the PDF. If you want to specify multiple fonts, put commas between the fonts. | |||||||||||
-pesub Percent | 100% | Embeds all fonts when the percent of characters used is greater than or equal to specified value, subsets embedded fonts when the percent of characters used is less than the specified value. The value without unit or % value can be specified (1.0 = 100%). If nothing is specified, it is considered 100% and embedded fonts are always subset. | ||||||||||
-pef * | An error is not issued when font embedding fails. | |||||||||||
-peg * | An error is not issued when glyphs are missing. | |||||||||||
-pex * | Prevents PDF/X, PDF/A and PDF/UA outputs from being cancelled even when an error occurs while outputting them. no-LT | |||||||||||
-pt Value | all |
Specifies whether to embed the image in PDF as is (pass-through). If both pass-through and downsampling are specified, downsampling will precede pass-through. This does not apply when it is not possible to embed the image as is for a certain reason. The following strings can be enumerated by separating with a white space to specify the image type.
| ||||||||||
-picc Value | 0 |
Selects how to compress the color images embedded in PDF.
| ||||||||||
-picg Value | 0 |
Selects how to compress the grayscale images embedded in PDF.
| ||||||||||
-picm Value | 1 |
Selects how to compress the monochrome images embedded in PDF.
| ||||||||||
-pidc Value | 0 |
Selects how to downsample the raster color images embedded in a PDF with the following values:
| ||||||||||
-pidca dpi | 450 | |||||||||||
-pidct dpi | 300 | |||||||||||
-pidg Value | 0 |
Selects how to downsample the raster grayscale images embedded in PDF using the following values:
| ||||||||||
-pidga dpi | 450 | |||||||||||
-pidgt dpi | 300 | |||||||||||
-pidm Value | 0 |
Selects how to downsample the raster monochrome images embedded in PDF using the following values:
| ||||||||||
-pidma dpi | 1800 | |||||||||||
-pidmt dpi | 1200 | |||||||||||
-pjq Percent | 80 | Specifies the quality of the raster graphics when specified JPEG format by -picc or -picg using the range of 1 to 100(%). A higher % increases the image quality. However the file size also becomes larger. The initial value is 80. | ||||||||||
-pcs * | Specifies not to compress text and line art in the PDF. | |||||||||||
-pos * | Compresses objects in PDF. The setting is invalid when -pcs is specified. | |||||||||||
-plr * | Specifies whether the external link specified by the local file is transformed into “Open the file” or into “World Wide Web link” in the PDF link properties. When -plr is specified, it is transformed to “World Wide Web link”. When -noplr is specified, it is transformed to “Open the file”. If the document is designed to be viewed on a browser then it is suggested to use the world wide web -plr as the default setting. | |||||||||||
-prc Value | 0 |
Specifies how to convert the RGB color space (DeviceRGB) to DeviceGray.
| ||||||||||
-pcics * | Converts RGB images automatically into CMYK when outputting PDF/X and PDF/A. no-LT | |||||||||||
-prr dpi | 108 | Specifies the resolution value of the transformed raster images from 70 to 500(dpi). This parameter is effective only with Windows versions and should be set with consideration of whether better image quality or file size is more important. | ||||||||||
-p3da * | Imports 3D object. no-LT | |||||||||||
-psbkm * | Suppresses the output of the bookmark. no-LT | |||||||||||
-pdfscale scale | 100% | Specifies the scaling ratio of the PDF to output. A value without a unit or % value can be specified as a scale (1.0 = 100%). When -pdfwidth is specified after -pdfscale, -pdfscale will take priority. The same applies to -pdfheight. | ||||||||||
-pdfheight length | 100% | Scales the output height of PDF. Height values can be specified as a unit or a % value. | ||||||||||
-pdfwidth length | 100% | Scales the output width of PDF. Width values can be specified as a unit or a % value. | ||||||||||
-createdate date | Specifies /CreationDate, /ModDate in PDF. See also createdate, modifydate in <axf:document-info> for the default and specifiable dates. This setting overrides the setting of <axf:document-info>. | |||||||||||
-modifydate date |
Parameters for SVG Output
Parameter | Default | Functions | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
-svgver Profile | SVG2.0 |
Specifies the SVG profile:
| ||||||||
-svgip Method | 0 |
Specifies how to treat images within the SVG file.
| ||||||||
-svgicp Directory | Specifies the destination for images when “1” or “3” is selected for the -svgip parameter. (Outputs the image as an external file.) When a relative path is used to specify the Directory, the path will be relative to the output path specified with -o. When -o is the standard output, an error will occur if the relative path is specified. Then it is necessary to specify an absolute path. | |||||||||
-svgcicp * | When images are copied and processed in the directory specified by -svgicp, creates the directory if the specified copy destination directory does not exist. V7.4 | |||||||||
-svgiren * | Specifies whether to rename all file names to the prefix specified by -svgiprfx, or to use the original name when images are copied to the directory specified by -svgicp. When the file name is duplicated, a sequential number is added. When -svgiren is specified, all files are renamed. | |||||||||
-svgiprfx Prefix | When images are copied to the directory specified by -svgicp, specifies the prefix of the file name. The file name will be prefixed followed by sequence number. When it is not specified, they are only sequential numbers. | |||||||||
-svggzip * | Outputs SVG compressed in gzip. | |||||||||
-svgsingle * | A document composed of multiple pages is outputted as a single SVG file. | |||||||||
-svgfmt Format | 1 | When the original document has multiple pages and -svgsingle parameter is not specified, each page will be output as an SVG files that has a consecutive number at the end of the file name. This parameter specifies the format of those consecutive numbers. For example, when “document.svg” is specified as the name for the output file, by specifying “-01” for -svgfmt parameter the output files will be document-01.svg, document-02.svg and so on. If this parameter is omitted, “1” is considered to be specified. | ||||||||
-svgspn * | When -svgsingle is not specified and the output SVG has only one-page, the sequential number specified by -svgfmt is not added. | |||||||||
-svgic Value | 0 |
Selects how to convert the raster images which may not be directly embedded in the SVG.
| ||||||||
-svgjq Percent | 80 | Specifies the quality of the raster graphics with the range of 1 to 100(%) when JPEG format is specified to -svgic. The quality becomes higher in proportion to the increase in the number, however the file size also becomes larger. The initial value is 80. | ||||||||
-svgrr dpi | 108 | Specifies the rasterize-resolution value of the transformed raster images from 70 to 500(dpi). This parameter is effective only with Windows versions. |
Parameters for TEXT Output
Parameter | Default | Functions |
---|---|---|
-tenc Encoding | UTF-8 | Specifies the encoding for TEXT Output. If this parameter is omitted, UTF-8 is adopted. For more details, see also TEXT Output Setting. |
-teol EOL-mark | CRLF or LF | Specifies the end-of-line code for TEXT Output. If this parameter is omitted, CRLF is adopted in Windows versions, and LF is adopted in non-Windows versions. See also TEXT Output Setting for more detail. |
Text Output cannot be performed with Antenna House Formatter V7.4 Lite.
Values can be added using one of the following units:
Representation | Meanings |
---|---|
cm | centimeter |
mm | millimeter. 1mm = 0.1cm |
in | inch. 1in = 2.54cm |
pt | point. 1pt = 1in/72 |
pc | pica. 1pc = 12pt |
jpt | 1jpt = 0.3514mm |
q | 1q = 0.25mm |
The following sample illustrates formatting sample.xml using XSL stylesheet sample.xsl and outputting the formatted result to sample.pdf.
AHFCmd -d "sample.xml" -s "sample.xsl" -p @PDF -o "sample.pdf"
In order to use the stylesheet in a non-Windows environment, it's necessary to specify external XSLT processor in the Option Setting File using -i parameter.
The following sample illustrates how to load the Option Setting File options.xml, format sample.fo and send the formatted result to a printer.
AHFCmd -d "sample.fo" -i "option.xml" -p "Antenna House Print"
Return Value
When executing formatting with a Command-line Interface, if the formatting is successful, it finishes the process with the return value of 0. If the formatting is not successful, the program finishes the process with a return value of 1. If the formatting is not performed by specifying -v, etc., the return value is 0.
Printer Name
The following parameter is effective only with Windows versions.
To send a file to a printer use a printer name from the Printers dialog in the Windows start menu or from Printers and Faxes in the Control Panel.
-p "Antenna House Print"
Printer Setting File
The following are effective only with Windows versions.
In the Windows environment, applications use the DEVMODE structure to exchange information about the printer settings. Also Windows printer drivers initialize themselves according to the information of the DEVMODE structure.
Antenna House Formatter V7.4 provides AHFDev.exe as a utility to save the DEVMODE structure to a file.
When this program is run, the “Print Setup” dialog will be displayed. You can choose printers from “Name” combo box or you can set various printer properties by clicking the “Properties” button. After you set up printer properties, click “save” button, the “Save As” dialog will be displayed. Specify a file name to save the print setup to. This will then modify DEVMODE structure as a “data file that records printer setup”. You can specify this file name for the PrinterSetting property of the .NET/COM Interface or -ps Parameter of the command line interface or other interfaces. To quit this application, click “close” button.
When a printer setting file is specified, a document is printed unless -p option is specified. The following shows how it operates.
- AHFCmd -p printer-name -ps setting-file -d ...
Prints a document by applying DEVMODE specified in the setting-file to the printer-name.
- AHFCmd -p @PDF -ps setting-file -d ...
Outputs a document to PDF disregarding the -ps option.
- AHFCmd -ps setting-file -d ...
Prints a document using the DEVMODE specified in the setting-file. If the printer-name is not specified in DEVMODE, the default printer is used.
When -collate or -copies is specified, the content of DEVMODE is overwritten.
Restrictions
See also Restrictions in Graphical User Interface to know more about restrictions on printing.