A computer-implemented method for generating a printer description file, the method comprising: receiving, over a network, user-specified characteristics of a non-Postscript-enabled printing device and a Postscript Printer Description file, subsequently referred to as a PPD file, for the printing device that identifies the supported features of the printing device and the options that such features can assume, wherein the user-specified characteristics and the PPD file were sent from a client computer; based on the user-specified characteristics, selecting, from among a plurality of file generation tools, a particular file generation tool that matches the user-specified characteristics; based on the user-specified characteristics, selecting, from among a plurality of lookup tables, a particular lookup table that matches the user-specified characteristics; providing the PPD file and the particular lookup table as input to the particular file generation tool; and sending, over a network, toward the client computer, a custom printer description file that the particular file generation tool automatically generated based on the PPD file and the particular lookup table; wherein, for each Postscript command in the PPD file, the custom printer description file comprises one or more corresponding non-Postscript commands for causing the printing device to perform operations that the corresponding Postscript command is designed to cause a Postscript printer to perform; wherein the particular lookup table comprises a mapping between features and options of the printing device, indicated in the PPD file, and non-Postscript commands that correspond to the features and options; wherein the client computer can automatically translate, based on the custom printer description file, a first print data stream into a second print data stream; wherein the first print data stream contains first commands that instruct a Postscript-enabled printing device to perform operations; wherein the second print data stream contains second non-Postscript commands that instruct a non-Postscript-enabled printing device to perform the operations; wherein the second commands correspond to the first commands. receiving, over a network, user-specified characteristics of a non-Postscript-enabled printing device and a Postscript Printer Description file, subsequently referred to as a PPD file, for the printing device that identifies the supported features of the printing device and the options that such features can assume, wherein the user-specified characteristics and the PPD file were sent from a client computer; based on the user-specified characteristics, selecting, from among a plurality of file generation tools, a particular file generation tool that matches the user-specified characteristics; based on the user-specified characteristics, selecting, from among a plurality of lookup tables, a particular lookup table that matches the user-specified characteristics; providing the PPD file and the particular lookup table as input to the particular file generation tool; and sending, over a network, toward the client computer, a custom printer description file that the particular file generation tool automatically generated based on the PPD file and the particular lookup table; wherein, for each Postscript command in the PPD file, the custom printer description file comprises one or more corresponding non-Postscript commands for causing the printing device to perform operations that the corresponding Postscript command is designed to cause a Postscript printer to perform; wherein the particular lookup table comprises a mapping between features and options of the printing device, indicated in the PPD file, and non-Postscript commands that correspond to the features and options; wherein the client computer can automatically translate, based on the custom printer description file, a first print data stream into a second print data stream; wherein the first print data stream contains first commands that instruct a Postscript-enabled printing device to perform operations; wherein the second print data stream contains second non-Postscript commands that instruct a non-Postscript-enabled printing device to perform the operations; wherein the second commands correspond to the first commands.