PPA

up

Information

What's New?

Software

Known Bugs

Protocol

References

FAQ

General Information

PPA (Printing Performance Architecture) is a protocol developed by Hewlett Packard for their series of Deskjet printers. In essence, the protocol moves the low-level processing of the data to the host computer rather than the printer. This allows for a low-cost printer with a small amount of memory and computing power and a flexible driver. However, this comes at the price of compatibility. HP's decision was to develop drivers only for Windows 95 for this printer.

Developing drivers only for Windows 95 wasn't a terrible decision. The decision that I believe was terrible was the decision that PPA should be a closed protocol. That is, HP will not release any information about the nature of the protocol. I am a member of HP's peripheral developer's program, and they would not even give me access to the PPA specifications!

So, being a protocol hacker at heart, I went forth and began to derive the elements of the PPA protocol by looking at the binary files produced by Windows 95 (when printing to a file). My work was aided quite a bit by the discovery of several articles in the Hewlett Packard Journal. Particularly, the articles in the June, 1997 issue were quite informative. (I've included local copies of those articals for those who are interested.)

After months of intermittent hacking, testing, coding, and numerous calls to HP (all of which were fruitless), I derived a working understanding of the protocol. This allowed me to write several programs, including a PBM to PPA converter. It is mainly intended for use directly with ghostscript, which produces PBM files in exactly the format the program accepts.

This page is dedicated to any and all information and software regarding the PPA protocol. If you have any links you would like included, or if you would like to contribute to the effort, feel free to contact me!

Web-Hosting Thanks!

Many thanks to Joe at httptech.com for hosting these pages!

Mailing Lists

Join one of the mailing lists!

For general announcements and software updates, join ppa.announce.
Email: View List Archive

For user discussion, tips, and help, join ppa.users.
Email: View List Archive
For development discussion, join ppa.devel.
Email: View List Archive

Disclaimer: I am not in any way associated with Hewlett Packard. All trademarks are the property by their appropriate owners. Their use here is not intended to dispute the ownership of these marks.

Copyright © 1998 Tim Norman