Bei der Aufbereitung von Druckaufträgen besteht des öfteren die Notwendigkeit, den Ausdruck zu wiederholen. Eine Möglichkeit besteht darin, erneut die komplette Routine bestehend aus dem Laden der Druckformulare, Verarbeiten der Datensätze etc. durchlaufen zu lassen.
Effizienter wäre allerdings, den einmal erstellten Druckauftrag einfach erneut an den Drucker zu senden. An dieser Stelle kommt die Druckjob-Datei zum Tragen. Bei jeder Druckausgabe erzeugt der CONZEPT 16-Client eine binäre Datei, die den gesamten Druckjob beinhaltet. Um die Druckjob-Datei für die Anwendung verfügbar zu machen, gibt der Entwickler bei der Funktion PrtJobOpen()
Pfad und Namen der Datei an.
// Druckjob erstellen
PrtJobOpen(_PrtDocDinA4,_Sys->spPathMyDocuments
+ '\MyPrintJob.job', _PrtJobOpenWrite, _PrtTypePrintDoc);
Mit der obigen Anweisung wird die Druckjob-Datei MyPrintJob.job dauerhaft erstellt und kann für weitere Druckausgaben verwendet werden.
// Druckjob an den Drucker senden
tJob # PrtJobOpen('',_Sys->spPathMyDocuments
+ '\MyPrintJob.job',_PrtJobOpenRead);
if (tJob > 0)
tjob->PrtJobClose(_PrtJobPrint);
Eine weitere Verwendung von Druckjobs ermöglicht das Oberflächen-Objekt PrtJobPreview. In diesem lassen sich Druckjob-Dateien als Vorschau innerhalb der eigenen Anwendung darstellen. Gleichzeitig stellt dies auch eine Alternative zur CONZEPT 16-Druckvorschau dar. Statt die Vorschau über die Anweisung PrtJobClose(_PrtJobPreview)
zu erzeugen, wird einfach die Druckjob-Datei erstellt und im PrtJobPreview angezeigt.
// Druckjob erstellen und im PrtJobPreview-Objekt anzeigen
tJob # PrtJobOpen(_PrtDocDinA4,_Sys->spPathMyDocuments
+ '\MyPrintJob.job', _PrtJobOpenWrite, _PrtTypePrintDoc);
if (tJob > 0)
{
...
if (tJob->PrtJobClose() = _rOK)
tPrtJobPreview->wpCaption # '*' + _Sys->spPathMyDocuments
+ '\MyPrintJob.job'
else
{
...
}
...
}
Eine Antwort
Das scheint ja interessant, werde es mal testen!