---
name: "lpf"
section: "1"
platform: "linux"
package: "lprng"
version: "3.8.B-9"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/lpf"
---

# lpf(1)

general printer filter

## NAME

lpf - general printer filter

## SYNOPSIS

**lpf** **-P***printer* **-w***width* **-l***length* **-x***width* **-y***length* \[ **-c** \] **-K***controlfilename* **-L***bnrname* \[ **-i***indent* \] \[ **-Z***options* \] \[ **-C***class* \] \[ **-J***job* \] \[ **-R***accntname* \]  **-n***login* **-h***Host* **-F***format* \[ **-T***\[crlf,debug\]* **-D***level* \] \[ affile \]

## DESCRIPTION

**Lpf** is a general printer filter. Usually it is used as filter in the printcap file and is called by lpd. The -Tcrlf option will suppress translation of LF to CR/LF pairs. The -Tdebug option will increment the debug level.

The following options passes lpd by default:

- **-P***printer*

  The name of the printer.

- **-w***width*

  The page width in chars, as given in the :pw field in the printcap file

- **-l***length*

  The page length in lines, as given in the :pl field in the printcap file

- **-x***width*

  The page width in pixels, as given in the :px field in the printcap file

- **-y***length*

  The page length in pixels, as given in the :py field in the printcap file

- **-K***controlfilename*

  The name of the control file.

- **-L***bnrname*

  The banner name. This is set by the lpr -T option.

- **-n***login*

  The user login name.

- **-h***Host*

  The host where the job was submitted.

- **-F***format*

  The job format from the lpr -F option or other option.

These options are optionally set by lpd:

- **-Z***options*

  Extra options. They are passed from the **-Z** parameter given on the lpr command command line and can be interpreted by the filter.

These remaining options can be added to the filter entry in the printcap file:

- **-c**

  ignore control characters, set by lpr -b (binary) or -l (literal) options.

- **-i***indent*

  The indentation amount, set by lpr -i indent option.

- **-C***class*

  The class name, set by lpr -C class option.

- **-J***job*

  The job name, set by lpr -J job option.

- **-R***accntname*

  The name of the accounting file, from printcap information.

- **-D***level*

  Sets debug level. The level must be an integer, a nonzero value switches debugging on.

- **-T***crlf*

  Turn LF to CR/LF translation off.

- **-T***debug*

  Increment the debug level.

## EXIT STATUS

The following exit values are returned:

- **zero (0)**

  Successful completion.

- **non-zero (!=0)**

  An error occurred.

## FILES

The files used by LPRng are set by values in the printer configuration file. The following are a commonly used set of default values.

```
/etc/lprng/lpd.conf	LPRng configuration file
${HOME}/.printcap	user printer description file
/etc/printcap	printer description file
/etc/lprng/lpd.perms	permissions
/var/run/lprng/lpd	lock file for queue control
/var/spool/lpd		spool directories
/var/spool/lpd/QUEUE/control	queue control
/var/spool/lpd/QUEUE/log	trace or debug log file
/var/spool/lpd/QUEUE/acct	accounting file
/var/spool/lpd/QUEUE/status	status file
```

## SEE ALSO

[lpd.conf(5)](/lpd.conf/5.md), [lpc(8)](/lpc/8.md), [lpd(8)](/lpd/8.md), [lpr(1)](/lpr/1.md), [lpq(1)](/lpq/1.md), [lprm(1)](/lprm/1.md), [printcap(5)](/printcap/5.md), [lpd.perms(5)](/lpd.perms/5.md), [pr(1)](/pr/1.md), [lprng\_certs(1)](/lprng_certs/1.md), [lprng\_index\_certs(1)](/lprng_index_certs/1.md).

## AUTHOR

Patrick Powell \<papowell@lprng.com\>.

## DIAGNOSTICS

Most of the diagnostics are self explanatory. If you are puzzled over the exact cause of failure, set the debugging level on (-D5) and run again. The debugging information will  help you to pinpoint the exact cause of failure.

## HISTORY

LPRng is a enhanced printer spooler system with functionality similar to the Berkeley LPR software. The LPRng developer mailing list is lprng-devel@lists.sourceforge.net; subscribe by visiting  **https://lists.sourceforge.net/lists/listinfo/lprng-devel** or sending mail to  **lprng-request@lists.sourceforge.net** with the word  *subscribe* in the body.\
 The software is available via  **http://lprng.sourceforge.net**
