Introduction to a2ps

a2ps is a filter utilized mainly in the background and primarily by printing scripts to convert almost every input format into PostScript output. The application's name expands appropriately to “all to PostScript”.

This package is known to build and work properly using an LFS-8.3 platform.



a2ps cannot convert UTF-8 encoded text to PostScript. The issue is discussed in detail in the Needed Encoding Not a Valid Option section of the Locale Related Issues page. The solution is to use paps-0.6.8 instead of a2ps for converting UTF-8 encoded text to PostScript.

Package Information

Additional Downloads

a2ps Dependencies



ghostscript-9.23, libpaper-1.1.24+nmu5, texlive-20180414 (or install-tl-unx) X Window System, Adobe Reader, and Ghostview

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/A2PS

Installation of a2ps

Install a2ps by running the following commands:

autoconf &&
sed -i -e "s/GPERF --version |/& head -n 1 |/" \
       -e "s|/usr/local/share|/usr/share|" configure &&

./configure --prefix=/usr  \
    --sysconfdir=/etc/a2ps \
    --enable-shared        \
    --with-medium=letter   &&
make                       &&
touch doc/*.info

To test the results, issue: make check. The printers.tst test will fail, as there is no default test printer. The styles.tst may also fail, as the tests report some inconsistencies between the generated postscript and the reference sets. This is caused by version number differences between the postscript test files and those generated by the tests — these do not affect the operation of the program and can be ignored.

Now, as the root user:

make install

If desired, install the downloaded i18n-fonts by running the following commands as the root user:

tar -xf ../i18n-fonts-0.1.tar.bz2 &&
cp -v i18n-fonts-0.1/fonts/* /usr/share/a2ps/fonts               &&
cp -v i18n-fonts-0.1/afm/* /usr/share/a2ps/afm                   &&
pushd /usr/share/a2ps/afm    &&
  ./make_fonts_map.sh        &&
  mv fonts.map.new fonts.map &&

Command Explanations

autoconf: This command is used to recreate the configure script. This is required because there is an issue in the mktime test which causes the configure script to hang for 60 seconds and then report that there is no working mktime function.

sed -i "s/GPERF --version |/& head -n 1 |/" configure: This fixes a bug in the handling of the version output of gperf.

sed -i "s|/usr/local/share|/usr/share|" configure: This command modifies the configure script to search for Ghostscript fonts at the location where they were installed by the BLFS instructions.

--sysconfdir=/etc/a2ps: Configuration data is installed in /etc/a2ps instead of /usr/etc.

--enable-shared: This switch enables building the dynamic liba2ps library.

--with-medium=letter: This switch changes the default paper format to US letter. It can either be given here or set in /etc/a2ps/a2ps-site.cfg after installation. The default is A4, but there are several other options, in particular: A4dj or letterdj are good settings for HP Deskjet and other printers that need wider paper-handling margins. See /etc/a2ps/a2ps.cfg after installation.

touch doc/*.info: This command avoids trying to regenerate the info files. This is an older package and the current .texi files will produce errors preventing make install from working properly.

Configuring a2ps

Config Files

/etc/a2ps/a2ps.cfg, /etc/a2ps/a2ps-site.cfg

Configuration Information

Information about configuring a2ps can be found in the comments contained in the above files, and also by running info a2ps.


Installed Programs: a2ps, card, composeglyphs, fixnt, fixps, ogonkify, pdiff, psmandup, psset, and texi2dvi4a2ps
Installed Libraries: liba2ps.{so,a} and filter data
Installed Directories: /etc/a2ps and /usr/share/a2ps

Short Descriptions


is a filter, utilized primarily by printing scripts, that converts standard input or supported files to PostScript.


prints a reference card of a given program's options.


creates a composite font program.


is supposed to fix the problems in the PostScript files generated by the Microsoft PostScript driver under Windows NT (3.5 and 4.0).


tries to fix common PostScript problems that break postprocessing.


provides international support for Postscript by performing various munging of PostScript files related to printing in different languages.


produces a pretty comparison between files.


tries to produce a version of a given PostScript file to print in manual duplex.


produces a version of a given PostScript file with a protected call to the PostScript operator 'setpagedevice'. Typical use is making a file print duplex, or on the manual tray, etc.


compiles Texinfo and LaTeX files to DVI or PDF

Last updated on 2018-08-26 12:11:33 -0700