Druckausgabe unter Linux

Wie kann ich in selbst geschriebenen C-Programmen Daten unter Linux an einen Drucker senden? In den diversen Dokumentationen habe ich dazu nichts finden können.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 1 Min.
Von
  • Dr. Oliver Diedrich

Wie kann ich in selbst geschriebenen C-Programmen Daten unter Linux an einen Drucker senden? In den diversen Dokumentationen habe ich dazu nichts finden können.

Linux erlaubt den Anwenderprogrammen keinen direkten Zugriff auf die parallele Schnittstelle. Das würde das gesamte Linux-Drucksystem aushebeln. Am einfachsten drucken Sie aus Ihrem Programm heraus über einen Aufruf des lpr-Kommandos. Damit greifen Sie auf alle unter Linux angemeldeten Drucker zu - inklusive Drucker im Netzwerk. Auch Anwendungen wie Acrobat Reader oder Internet-Browser gehen so vor.

Dazu schreiben Sie Ihre Druckausgabe in eine temporäre Datei und rufen lpr über eine der Systemanweisungen zum Ausführen externer Programme (system(), exec() oder fork()) auf. Die jeweiligen man-pages (in der Sektion 3) erläutern die Aufrufe. (odi) (odi)