Чтобы было понятнее суть вопроса раскажу для примера как это дело в винде устроено. Сначала любая прога задействует GDI а он передаёт информацию драйверу (файлы которого лежат в системной папке) который в свою очередь переводит всё на язык принтера (например PostScript). Благодаря этому после установки драйвера совершенно любая прога печатает стандартным способом (через GDI). Есть даже спец GDI принтеры.
А как в линуксе?

