Your company here — click to reach over 10,000 unique daily visitors

a2ps - Man Page

format files for printing on a PostScript printer


a2ps [OPTION]... [FILE]...


Convert FILE(s) or standard input to PostScript.  By default, the output is sent to the default printer.  An output file may be specified with -o.

Mandatory arguments to long options are mandatory for short options too. Long options marked with `*' require a yes/no argument, corresponding short options stand for `yes'.



display version


display this help


report guessed types of Files


report the full path of library files named Files


report the full path of library files matching Files


display default settings and parameters


detailed list on TOPIC (delegations, encodings, features, variables, media, ppd, printers, prologues, style-sheets, user-options)

After having performed the task, exit successfully.  Detailed lists may provide additional help on specific features.


-q,  --quiet,  --silent

be really quiet

-v,  --verbose[=LEVEL]

set verbosity on, or to LEVEL

-=,  --user-option=OPTION

use the user defined shortcut OPTION


enable debugging features

-D,  --define=KEY[:VALUE]

unset variable KEY or set to VALUE


-M,  --medium=NAME

use output medium NAME

-r,  --landscape

print in landscape mode

-R,  --portrait

print in portrait mode


number of columns per sheet


number of rows per sheet


first fill (DIRECTION=) rows, or columns

-1,  -2, ..., -9

predefined font sizes and layouts for 1..9 virtuals

-A,  --file-align=MODE

align separate files according to MODE (fill, rank page, sheet, or a number)

-j,  --borders*

print borders around columns


define an interior margin of size NUM

The options -1.. -9 affect several primitive parameters to set up predefined layouts with 80 columns.  Therefore the order matters: `-R -f40 -2' is equivalent to `-2'.  To modify the layout, use `-2Rf40', or compose primitive options (`--columns', `--font-size' etc.).

Virtual pages:


precede each NUM lines with its line number


alias for --line-numbers=5

-f,  --font-size=SIZE

use font SIZE (float) for the body text

-L,  --lines-per-page=NUM

scale the font to print NUM lines per virtual

-l,  --chars-per-line=NUM

scale the font to print NUM columns per virtual

-m,  --catman

process FILE as a man page (same as -L66)

-T,  --tabsize=NUM

set tabulator size to NUM

--non-printable-format=FMT specify how non-printable chars are printed


-B,  --no-header

no page headers at all

-b,  --header[=TEXT]

set page header

-u,  --underlay[=TEXT]

print TEXT under every page


set page title to TITLE


set left and right page title to TEXT



set sheet footers to TEXT



The TEXTs may use special escapes.


-a,  --pages[=RANGE]

select the pages to print

-c,  --truncate-lines*

cut long lines

-i,  --interpret*

interpret tab, bs and ff chars


specify the eol char (TYPE: r, n, nr, rn, any)

-X,  --encoding=NAME

use input encoding NAME

-t,  --title=NAME

set the name of the job


set the name of the input file stdin


force binary printing

-Z,  --delegate*

delegate files to another application


generate a table of content

When delegations are enabled, a2ps may use other applications to handle the processing of files that should not be printed as raw information, e.g., HTML PostScript, PDF etc.


-E,  --pretty-print[=LANG]

enable pretty-printing (set style to LANG)


set pretty printing highlight LEVEL LEVEL can be none, normal or heavy


alias for --highlight-level=heavy


level of comments stripping


-o,  --output=FILE

leave output to file FILE.  If FILE is `-', leave output to stdout.


override the usual version control


override the usual backup suffix

-P,  --printer=NAME

send output to printer NAME


send output to the default printer (this is the default behavior)



include FILE.pro as PostScript prologue


automatic PPD selection or set to KEY

-n,  --copies=NUM

print NUM copies of each page

-s,  --sides=MODE

set the duplex MODE (`1' or `simplex', `2' or `duplex', `tumble')

-S,  --setpagedevice=K[:V]

pass a page device definition to output


pass a statusdict definition to the output

-k,  --page-prefeed

enable page prefeed

-K,  --no-page-prefeed

disable page prefeed

By default a2ps is tuned to do what you want to, so trust it.  To pretty print the content of the `src' directory and a table of content, and send the result to the printer `lw',

$ a2ps -P lw --toc src/*

To process the files `sample.ps' and `sample.html' and display the result,

$ a2ps -P display sample.ps sample.html

To process a mailbox in 4 up,

$ a2ps -=mail -4 mailbox

To print as a booklet on the default printer, which is duplex capable,

$ a2ps -=book paper.dvi.gz -d


a2ps reads several files before the command line options.  In order, they are:

  1. The system configuration file (usually /usr/local/etc/a2ps.cfg) unless you have defined the environment variable A2PS_CONFIG, in which case a2ps reads the file it points to;
  2. the user's home configuration file ($HOME/.a2ps/a2psrc)
  3. the file .a2psrc in the current directory.

    See the info manual for more information, including a description of the configuration file format.


Written by Akim Demaille, Miguel Santana, and Reuben Thomas.

Reporting Bugs

Report bugs to: bug-a2ps@gnu.org
GNU a2ps home page: <https://www.gnu.org/software/a2ps/>
General help using GNU software: <https://www.gnu.org/gethelp/>

See Also

a2ps(1), card(1), fixps(1), pdiff(1).

The full documentation for a2ps is maintained as a Texinfo manual.  If the info and a2ps programs are properly installed at your site, the command

info a2ps

should give you access to the complete manual.

Referenced By

a2ps-lpr-wrapper(1), card(1), fixps(1), lp2(1), pdiff(1).

March 2024 GNU a2ps 4.15.6