Next Previous Contents

## 1. Networking HP DeskJet PPA printers with SAMBA

## 1.1 Overview of PPA printers.

The HP DeskJet 710/712C, 720/722C, 820Cse/820Cxi and 1000Cse/1000Cxi printers are "Winprinters" which are designed only for use with MS Windows operating systems. HP supplies Windows-only software that processes the input data into the proprietary and unpublished PPA ("Printer Performance Architecture") protocol.

HP states that these printers are not supported as networked printers, but they in fact function correctly as shared (SMB) printers under MS Windows.

In this document, the Host is the computer to which the PPA printer is physically connected, and the Clients are other computers on the network that wish to print documents on the PPA printer.

In the Windows printing system, separate copies of the HP PPA printer drivers are installed on each Client, and are run on the Client to produce PPA output that is sent over the network to be spooled on the Host to which the printer is attached.

HP's drivers are only supplied for Windows systems. The independently-produced pnm2ppa driver runs on Linux, some other Unix systems, and BeOS.

This document describes various tested strategies for using `pnm2ppa` and the samba suite of SMB tools to allow the PPA printer to be attached to a non-Windows host on a (TCP-based) SMB network, or to allow non-Windows Clients to receive printing services from a Host on the network.

## 1.2 Choice of protocol for sending over the network.

There are two possible ways to send printer data from a Client to the printer Host over the network.

- as PPA data, created by a driver on the Client. This is what happens when using conventional printer sharing on Windows.
- as PostScript data, created on the Client, which is then translated into PPA instructions by drivers running on the printer Host.

Since PPA data is rather large, the first method involves sending larger amounts of data over the network, which may be why HP do not officially support PPA DeskJets as networked printers. It also requires that PPA drivers are installed on the Client.

The Host to which the printer is attached can thus provide two classes of printing services:

- PPA printing services: the Host accepts PPA-format printing jobs created on the Clients either with HP's native PPA drivers (Windows Clients) or `pnm2ppa` (Unix/Linux/BeOS Clients);
- PostScript printing services: the Host accepts PostScript-format printing jobs created on any postscript-capable Client, and converts them to PPA format using either HP's native PPA drivers (Windows Host) or `pnm2ppa` (Unix/Linux/BeOS Host);

It is useful to set up the Host to offer both types of service, sharing a common spooling system.

Next Previous Contents