Fax-Drucker und DevExpress
Drucker-Warteschlange
Druckaufträge erhalten in der Drucker-Warteschlange einen Namen. Einige Fax-Systeme können mit ihrem Drucker-Treiber diesen Namen auswerten und so die Fax-Nummer und weitere Daten extrahieren.
Framework Studio bietet die Möglichkeit diesen Namen zu beeinflussen. Dazu gehen sie wie folgt vor:
- Legen Sie im Report-Designer ein neues Label mit dem Namen
FSPrintQueueDocumentName
an. (Der Name muss exakt stimmen) - Für den Text des Labels können Sie eine Expression definieren und so z.B. die Fax-Nummer des Empfängers einbinden.
- Das Label kann auf unsichtbar gestellt werden - sodass es nicht angedruckt wird. (Die
Visible
Eigenschaft)
Das Label kann in einem SubReport (Embedded oder Linked) platziert werden. Dabei gilt:
- Wird im Hauptreport kein passendes Label gefunden, werden die SubReports durchsucht.
- Die Suche erfolgt rekursiv durch alle verschachtelten SubReports, bis ein Label gefunden wird.
- Befinden sich mehrere Labels mit dem Namen
FSPrintQueueDocumentName
auf derselben Ebene in verschiedenen SubReports, werden alle verarbeitet und das zuletzt gefundene Label gewinnt. Dieses Verhalten ist jedoch nicht deterministisch, daher sollte diese Konstellation vermieden werden.
Wird der Report verarbeitet und an den Print-Server gesendet, dann scannt Framework Studio den Report nach diesem Feld. Der berechnete Text wird in den Document-Name übernommen.
Der Print-Server übernimmt diesen Namen für die Drucker-Warteschlange.
Dieses Feature steht zur Verfügung ab Framework Studio 4.5.31, 4.6.20, 4.7.8 (01.08.2025). Der Print-Service benötigt kein Update.
Verstecktes Feld
Eine andere übliche Methode ist das Einbetten der Fax-Informationen mithilfe eines "versteckten" Feldes mit weißem Text. Bei vielen Fax-Systemen muss der Druckauftrag dafür mit der Postscript-Technik erzeugt werden.
DevExpress unterstützt jedoch diese Technik nicht. Intern nutzt DevExpress die Druck-API von dotnet, welche auf GDI+ basiert.