---
name: "apsfilter"
section: "1"
platform: "linux"
package: "apsfilter"
version: "7.2.6-5"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/apsfilter"
---

# apsfilter(1)

magic print filter with auto file type recognition

## NAME

**apsfilter** – magic print filter with auto file type recognition

## SYNOPSIS

**lpr** \[**-P***printer*\] \[**-C** *option1:...:optionN*\] \[*file* *...*\] (lpd style)

**lpr** \[**-P***printer*\] \[**-Z** *option1:...:optionN*\] \[*file* *...*\] (LPRng style)

**lp** \[**-d** *printer*\] \[**-o** *option1:...:optionN*\] \[*file* *...*\] (Solaris style)

## DESCRIPTION

**Apsfilter** is a magic print filter which allows you to print different document types “automagically” without having to convert them manually into a document format which is understood by your printer hardware.

**Apsfilter** uses third-party software to convert every supported file type into PostScript (PS) first. If you have a real PS printer, the data stream is then sent directly to the PS printer, otherwise it is piped through the famous PS interpreter [gs(1)](/gs/1.md) which supports a wide range of output devices.

Thus the question whether a particular printer is supported by **apsfilter** is actually the question of it either understanding PS directly, or being supported by [gs(1)](/gs/1.md) in some way (possibly using some emulation of another printer's software interface, like Epson's ESC/P2 or HP's PCL).

Another important thing to remember is that the required driver support has to be present in the installed [gs(1)](/gs/1.md) binary. **gs** **-h** lists (among others) which drivers are currently compiled in. SETUP warns when a selected driver is missing and guides in choosing another driver.

The *FreeBSD* *ports* *collection* offers an easy and comfortable framework for FreeBSD users to configure and install apsfilter, [gs(1)](/gs/1.md), gs third-party driver and filter programs for their personal needs.

The **apsfilter** script is designed to avoid temporary files as much as possible. So it is very efficient in use and doesn't fill up filesystems even when printing large printjobs in high resolution and best print quality.

**Apsfilter** offers a wide range of customization options through config files and [lpr(1)](/lpr/1.md) command line options, see below.

### Advantages over other magic filters

**Apsfilter** and its SETUP is completely written in a script language (see [sh(1)](/sh/1.md) ). So it is easy to understand and modify even for users and admins who are quite new to the Unix business.

**Apsfilter** is highly customizable and its developement since 1994 has shown that it scales very well with the still growing demand of additional features.

### Supported printers

Apsfilter supports locally connected serial, parallel and USB printers.

Remote printing cababilities: Unix remote printing (lpd protocol), printing to an AppleTalk remote printer via [pap(1)](/pap/1.md) as well as Windows remote printing via SAMBAs [smbclient(1)](/smbclient/1.md) on Windows 95/98/NT/2000 printer as guest user or using a real password protected Windows account.

**Apsfilter** 's SETUP utility supports in installing all supported printer types, no matter if local or remote printer, into the printer capability database */etc/printcap*.

### Supported file types

ar, arc, arj, ASCII, BMP, CAB, cpio, DATA, DVI, FBM, FIG, FITS, GIF, Group 3 FAX, HTML, IFF ILBM, JPEG, Kodak Photo CD (PCD), LHA, MGR, MIFF, PAM, PGM, PBM, PNM, PPM, PDF, PNG, Postscript (PS), RAR, RLE, RPM, SGI, Sketch, Sunraster, TAR, Targa (TGA), TIFF ROFF, WMF, WorPerfect graphics, XCF, X Pixmap (XPM), X Window dump (XWD), ZIP, ZOO. Note that actual support depends on the installed filter programs.

### Installation

Extract the tarball and execute **./configure** in the  **apsfilter** directory (maybe with some options; use **./configure** **--help** to see a listing).

After that, login as root and call **make** **install**; then you can set up printers with **/usr/share/apsfilter/SETUP**.

SETUP adds the printer to the /etc/printcap database to make it available to the [lpd(8)](/lpd/8.md) print spooler, and configures **apsfilter** for operation with that printer.

After successfull installation, SETUP remembers its previous configuration settings in a file called *SETUP.cfg*.

### Command line options

Several command line options to **apsfilter** are available which allow the user to influence the printing quality, color mode, paper size etc. The *handbook* includes a detailed listing.

- **draft**

  Draft quality.

- **lo\|low**

  Low quality.

- **med\|medium**

  Medium quality.

- **hi\|high**

  High quality.

- **photo**

  Photo quality.

- **uni\|bi**

  Uni-/bi-directional sweeps.

- **plain**

  Plain paper.

- **coated**

  Coated (inkjet) paper.

- **glossy**

  Glossy paper.

- **premium**

  Premium (photo) paper.

- **trans**

  Transparencies.

- **color\|colour**

  Color printing.

- **gray\|grey**

  Gray printing.

- **mono**

  B/W printing.

- **auto**

  Automatic filetype recognition and data conversion.

- **ascii**

  Force printing as ASCII document. For example to print Postscript source code without actually interpreting it.

- **raw**

  Pass-through mode, your print data won't be changed by any filter.

- **a3\|a4\|legal\|ledger\|tabloid**

  Paper size.

- **a2ps\|mpage\|enscript\|recode**

  Text file filter to use, when printing ASCII documents.

- **tray0...tray9**

  Paper feed tray number.

- **pretty=N**

  highlight level for pretty-printing (N=0,1,2)

- **header\|noheader**

  Whether you want headers in your text prints.

- **border\|noborder**

  Whether you want borders in your text prints.

- **1pps\|2pps\|4pps\|8pps**

  Pages per sheet.

- **landscape\|portrait**

  Paper orientation.

- **book**

  Output pages in "book" format, implies "2pps,duplex,shortbind"

- **duplex\|simplex**

  Whether to use duplex mode or not.

- **shortbind\|longbind**

  Paper binding edge.

- **copies=N**

  Number of copies.

## EXAMPLES

```
lpr -C high:color:glossy file.gif tex.dvi.gz file.html ...
```

prints some files of different types no matter whether compressed or not on the Unix default printer (see [lpr(1)](/lpr/1.md) ).

The **-C** option to the **lpr** command sets additional ghostscript driver-specific options.  Here, ‘high’ means *high* *resolution* (e. g. 600 dpi for an HP Printer using gs's “cdj850” printer driver), *color* *output* (e.g. 32 bits per pixel), and the paper type is set to *glossy* *paper*

```
lpr -C duplex somefile
```

enables *pseudo* *duplex* *printing* by halting the print queue after printing a documents even pages and so giving the user a chance to flip paper and restart printing after executing a special user command on the command line.

User gets a notification mail containing a session oriented magic *wakeup* *command* and *key* which restarts printing of the odd pages of the print job.

The so called *magic* *command* makes sure that only the initiator of the print job is able to restart printing after reinserting the paper.

*Beware,* if you have nasty users, this can cause print jobs to hang, filling up the print queue and at least the /var file system.

## FILES

- */etc/printcap*

  printer capability data base

- */usr/share/apsfilter/bin/apsfilter*

  apsfilter script

- */usr/share/apsfilter/SETUP*

  printer installation script, creates/updates /etc/printcap

- */usr/share/apsfilter/SETUP.cfg*

  saved settings from last printer setup

- */usr/share/doc/apsfilter/handbook.html*

  the apsfilter handbook in HTML format

- */etc/apsfilter/*

  configuration directory

- */etc/apsfilter/apsfilterrc*

  global configuration file

- */etc/apsfilter/apsN/*

  printer specific configuration directory

- */etc/apsfilter/apsN/apsfilterrc*

  printer specific configuration file

- *$HOME/.apsfilter/apsfilterrc.apsN*

  user definable printer specific configuration file

- */etc/apsfilter/apsN/smbclient.conf*

  smbclient config file for printing on Windows remote printer

- */etc/apsfilter/apsN/pap.conf*

  pap config file for printing on AppleTalk printer

- */etc/apsfilter/apsN/lpr.conf*

  config file for remote printer that needs special treatment

## SEE ALSO

[aps2file(1)](/aps2file/1.md), [apsfilter-bug(1)](/apsfilter-bug/1.md), [apspreview(1)](/apspreview/1.md), [gs(1)](/gs/1.md), [gs-hpdj(1)](/gs-hpdj/1.md), [lpr(1)](/lpr/1.md), [smbclient(1)](/smbclient/1.md), [apsfilterrc(5)](/apsfilterrc/5.md), [printcap(5)](/printcap/5.md), [lpd(8)](/lpd/8.md)

## BUGS

See apsfilter software center - http://www.apsfilter.org/ - for new versions, bugfixes and known bugs.

Please use the new tool [apsfilter-bug(1)](/apsfilter-bug/1.md) to release bug- or problem reports. It automatically presents you a **form** in an editor window which asks you some standard questions. If you save and quit the editor session, then this report is sent automatically via  **e-mail** to the proper apsfilter mailinglist.

If apsfilter fails to print something or prints it in a way you wouldn't expect and you want to report an apsfilter error then please save the debugging output of one print session using the new [aps2file(1)](/aps2file/1.md) utility by typing **aps2file** **-D** **-Z** **options** **file** **\>** **/dev/null** **2\>** **file.debug** and including the debugging output in the file **file.debug** into the edit session of the **apsfilter-bug** utility, so that it is included into the mail to the apsfilter mailinglist.

Please note that you need to run /bin/sh (Bourne Shell), bash or a compatible shell, so that the above mentioned output redirection works. Under C-shell (/bin/csh) or tcsh it would't work. If you don't know, then simply make sure you use the Bournce shell by typing **/bin/sh** or **bash**, then you should have no problems with redirection of **stdout** and **stderr** (\> /dev/null 2\> file.debug).

## DOCUMENTATION

See official apsfilter homepage

- *http://www.apsfilter.org/handbook.html*

  Apsfilter Handbook including the Frequently Asked Questions (FAQ)

## USER FORUM

Please send questions to the official apsfilter help channel **apsfilter-help@apsfilter.org**. The above section **BUGS** and the file **HOWTO-BUGREPORTS** tells you how to report bugs. If you want to know how to troubleshoot your apsfilter installation, please read the manpage [aps2file(1)](/aps2file/1.md) and [apsfilter-bug(1)](/apsfilter-bug/1.md) as well as the **Apsfilter** **Handbook** carefully.

## HISTORY

The **apsfilter** manpage appeared first in apsfilter V 5.4.0.
