1. Tech

Your suggestion is on its way!

An email with a link to:


was emailed to:

Thanks for sharing About.com with others!

Linux / Unix Command: a2ps
Command Library


a2ps - format files for printing on a PostScript printer


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


Convert FILE(s) or standard input to PostScript.

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

The default behaviour is to use the locale category LC_PAPER to determine the medium to use. Note that this information is obtained from environment variables which may not be set up in non-interactive environments (such as in a cron job).

-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


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(1), card(1), fixps(1), pdiff(1), psset(1), texi2dvi4a2ps(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.

Important: Use the man command (% man) to see how a command is used on your particular computer.

>> Linux/Unix Command Library

>> Shell Command Library

  1. About.com
  2. Tech
  3. Linux

©2015 About.com. All rights reserved.