L'utilisateur génère un nouveau travail d'impression. Le travail d'impression se compose des données à imprimer plus des informations pour le spouleur, telles que le nom de l'imprimante ou le nom de la file d'attente et, optionnellement, les informations pour le filtre d'impression telles que les options spécifiques à l'imprimante.
Pour chaque imprimante, il existe une file d'attente qui lui est propre. Le spouleur d'impression conserve le travail d'impression jusqu'à ce que l'imprimante concernée soit prête à recevoir des données. Lorsque l'imprimante est prête, le spouleur lui envoie les données à traver le filtre et le backend.
Le filtre convertit les données que l'utilisateur souhaite imprimer (ASCII, PostScript, PDF, JPEG, etc.) en données spécifiques à l'imprimante (PostScript, PCL, ESC/P, etc.). Les caractéristiques de l'imprimante sont décrites dans les fichiers PPD. Un fichier PPD contient des options spécifiques à l'imprimante avec les paramètres nécessaires afin de les activer pour l'imprimante. Les système de filtre vous assure que les options que vous avez sélectionnées sont activées.
Si vous utilisez une imprimante PostScript, le système filtre convertit les données en données PostScript adaptées à l'imprimante. Ceci ne nécessite pas un pilote d'imprimante. Si ce n'est pas une imprimante PostScript qui est connectée, le système filtre utilise le programme Ghostscript pour convertit les données en données adaptées à l'imprimante. Ceci nécessite un pilote Ghostscript adapté au modèle d'imprimante utilisé. Le backend reçoit du filtre les données adaptées à l'imprimante, lesquelles sont ensuite envoyées à l'imprimante.