Einzelnen Beitrag anzeigen

mOfl

Registriert seit: 1. Jun 2006
11 Beiträge
 
#1

Dateien drucken mit frei wählbarem Drucker

  Alt 9. Aug 2008, 19:08
(Delphi 7 Personal)

Ich grüße euch!

Ich arbeite gerade an einem Programm, bei dem am Ende sehr viele Dateien (vor allem Vektorgrafiken) ausgedruckt werden müssen. Vorher muss ein Drucker (auch USB- oder Netzwerkdrucker) ausgewählt werden, alle Dateien werden dann auf dem gleichen Drucker gedruckt. Weiß einer, wie ich das löse? Ich fand das Problem zuerst selbst banal, aber habe trotz aufmerksamer Suche keine Lösung finden können.

ShellExecute(handle, 'print', 'datei.txt/d:LPT1', '', '', SW_HIDE); funktioniert zum Beispiel nicht, weil der Drucker eben nicht LPT1, sondern USB oder übers Netzwerk läuft. Außerdem hab ich mir sagen lassen, wer mit ShellExecute druckt, frisst auch kleine Kinder... man will ja in nichts hinein geraten...

Meine Hilflosigkeit rührt vor allem daher, dass ich keine Ahnung habe, wie man eine beliebige (Text-/Bild-)Datei in Delphi druckt, ohne ShellExecute zu benutzen. Ich lese hier immer wieder was von Canvas, aber das gilt glaube ich nur dafür, wenn man den Inhalt eines Delphi-Programms (RichEdit, Memo,...) drucken will.

Da das Programm sehr viele Dateien drucken muss, sollte der Drucker (im Idealfall durch den Druckerdialog) nur einmal gewählt werden müssen, sodass alle anderen Dateien automatisch auf den Drucker gedruckt werden, ohne diesen Drucker zum Windows-Standarddrucker zu machen. Vermutlich suche ich doch am ehsten eine Möglichkeit, einen beliebigen Drucker im Druckerdialog auszuwählen und dann auf diesem über den Shell-Befehl zu drucken. Wie gesagt, es sind eben verschiedene Dateien, vor allem Vektorgrafiken, die (glaube ich) nicht programmintern gedruckt werden können.

Weiß einer Rat?
Grüße
Dani
  Mit Zitat antworten Zitat