+1 800 256 3608 (toll-free in North America) or +49 7531 90 60 10| service@combit.com

Doppelte Ausgabe


(Entwicklung) #1

Hallo zusammen,

ich erstelle in einer C+±Applikation Rechnungen. Viele Kunden, viele Rechnungen. Diese erzeuge ich bisher still als PDF in ein bestimmtes Verzeichnis mit bestimmten Dateinamen. Das funktioniert soweit wunderbar. Jetzt ist die Frage, ob und wie ich diese gleichzeitig parallel auf einem Drucker ausgeben kann. Der Druckername ist mir bekannt, eine Auswahl über den Dialog ist nicht gewünscht. Ich bin dabei über die Ausfertigungen gestolpert.

In der Vorlage habe ich 2 Ausfertigungen definiert und über einen Standardaufruf via
“LlPrintStart(hJob, LL_PROJECT_LIST, strFile, LL_PRINT_USERSELECT, 0);”
werden auch zwei Drucke erzeugt. Allerdings muss ich dazu im Designer Druckernamen festlegen, die beim Kunden ja wieder völlig anders sein können. Ebenso kann ich darüber dann die PDFs nicht “Quiet” erzeugen.

Ich weiß, dass das geht, ich steh einfach nur ziemlich auf dem Schlauch bzw. die Programmierbeispiele sind hier, gerade im Bereich C++, etwas dürftig. Weiß da jemand mehr dazu? Es soll also in unserer Applikation auf einen Knopfdruck jede Rechnung als PDF abgelegt und gleichzeitig auf einem Drucker ausgegeben werden.


(Wolfgang Ciriack) #2

Das erledigst du am Besten über das Storagesystem.
Erst mal festelgen, das die Vorschaudatei nicht angezeigt wird:
LlsetOption(hjob, LL_OPTION_INCREMENTAL_PREVIEW, .F.)
Dann Ausgabe
nRet := LlPrintStart(hjob, …, …, LL_PRINT_PREVIEW)

LlPrintEnd(hjob, 0)
Dann Ausgabe mit dem Storagesystem:
fh:=LlStgsysStorageOpen(,…)
Drucken
LlStgSysPrint(fh,…)
und Speichern
LlStgSysConvert(fh,…)
dann noch aufräumen
LlStgsysDeleteFiles(fh)
LlStgsysStorageClose(fh)