Zum Hauptinhalt springen

PrtJobOpen

PrtJobOpen(alpha1[, alpha2[, int3[, int4[, alpha5[, int6]]]]]) : handle

Ausführbar von Clients mit grafischer Oberfläche Ausführbar vom Server Ausführbar von der DLL-Schnittstelle mit grafischer Erweiterung Ausführbar von der Web-Schnittstelle Ausführbar vom Druckprozessor Ausführbar von der ODBC-Schnittstelle Ausführbar vom SOA-Service mit grafischer Erweiterung

Druckjob anlegen

Details

Mit diesem Befehl wird ein neuer Druckjob angelegt oder aus einer externen Datei gelesen. Als Resultat wird ein Deskriptor auf ein PrintJob -Objekt zurückgegeben. Beim Schließen des Druckjobs mit dem Befehl PrtJobClose () wird bestimmt, ob eine Druckvorschau angezeigt werden soll.

Der Name des zu druckenden Dokuments wird in (alpha1) übergeben. Wird das Dokument aus mehreren PrintForm -Objekten zusammengestellt, werden in (alpha1) entweder die Konstanten _PrtDocDinA4, _PrtDocDinA5 oder ein PrintDoc -Objekt mit einem Seitenformat angegeben.

Wird als Option (int3) _PrtJobOpenWrite angegeben, wird der Druckjob zum Schreiben geöffnet. Zusätzlich zu den Druckjobdaten wird die Versionsnummer der verwendeten c16_objw.dll gespeichert. Mit der Option _PrtJobOpenRead kann ein gespeicherter Druckjob gelesen werden. Die Version des Druckjobs kann dann über die Eigenschaft Version ermittelt werden. Diese ist 0, wenn der Druckjob vor der 5.8.04 erzeugt wurde.

Im Parameter (int4) wird angegeben, ob in (alpha1) ein PrintDoc -Objekt oder ein PrintDocRecord -Objekt übergeben wurde. Werden PrintForm -Objekte verwendet muss _PrtTypePrintDoc angegeben werden.

Im Argument (alpha5) kann ein bis zu 64 Zeichen langes Passwort angegeben werden, welches zum Verschlüsseln des Druckjobs verwendet wird.

Im Parameter (int6) wird angegeben, ob ein Druckjob mit Unicode-Unterstützung erzeugt werden soll. Der Parameter ist nur beim Schreiben eines Druckjobs (_PrtJobOpenWrite) zulässig. Es können folgende Konstanten übergeben werden:

  • _PrtConvNone Es wird ein Druckjob mit der in der Datenbank gespeicherten Unicode-Unterstützung des in (alpha1) angegebenen Objekts erzeugt. Es findet keine Konvertierung des Objekts statt. Die Objekte _PrtDocDinA4 und _PrtDocDinA5 haben keine Unicode-Unterstützung. Soll mit diesen Objekten ein Druckjob mit Unicode-Unterstützung erzeugt werden, muss die Konstante _PrtConvUnicode angegeben werden.
  • _PrtConvUnicode Es wird ein Druckjob mit Unicode-Unterstützung erzeugt. Ist das angegebene Objekt ohne Unicode-Unterstützung in der Datenbank gespeichert, findet eine Konvertierung des Objekts statt. Dem Druckjob können nur noch Objekte mit Unicode-Unterstützung hinzugefügt werden.
  • _PrtConvAnsi Es wird ein Druckjob ohne Unicode-Unterstützung erzeugt. Ist das angegebene Objekt mit Unicode-Unterstützung in der Datenbank gespeichert, findet eine Konvertierung des Objekts statt. Dem Druckjob können nur noch Objekte ohne Unicode-Unterstützung hinzugefügt werden.

Wird keine der Konstanten angegeben, findet keine Konvertierung statt (_PrtConvNone).

Der Befehl liefert einen Deskriptor auf den erzeugten oder geöffneten Druckjob zurück, sofern der Aufruf erfolgreich war. Ist ein Fehler aufgetreten wird 0 zurückgegeben.

  • Erstellen eines temporären Druckjobs Der Druckjob wird in eine temporäre externe Datei geschrieben. Die Datei wird nach dem Drucken automatisch wieder entfernt. Es wird eine temporäre Datei angelegt, wenn in (alpha2) kein externer Dateiname oder in (int3) die Option _PrtJobOpenTemp angegeben wird. Werden beide Angaben gemacht, wird der externe Dateiname in (alpha2) ignoriert. Die temporäre Datei wird im Windows-Temp-Verzeichnis angelegt und beim Beenden der Druckvorschau bzw. nach dem Ausdruck wieder gelöscht. Der Name der temporären Datei setzt sich aus C16_, einer beliebigen achtstelligen hexadezimalen Zahl und der Erweiterung .tmp zusammen. Mit der Option _PrtJobOpenWrite wird der Druckjob zum Schreiben geöffnet. Beispiel:
// Temporären Druckjob öffnen
tPrtJob # PrtJobOpen('Brief', '', _PrtJobOpenWrite | _PrtJobOpenTemp, _PrtTypePrintDoc);
// Gesamtes Dokument schreiben
tPrtJob->PrtJobWrite(_PrtJobDoc);
// Druckvorschau anzeigen
tErr # tPrtJob->PrtJobClose(_PrtJobPreview);
  • Schreiben einer Druckjob-Datei Soll der Druckjob über einen längeren Zeitraum erhalten bleiben, zum Beispiel zur Archivierung, kann er in eine externe Datei geschrieben werden. Dazu muss in (alpha2) der Name und der Pfad der externen Datei angegeben werden. Mit der Option _PrtJobOpenWrite wird der Druckjob zum Schreiben geöffnet. Beispiel:
// Druckjob öffnen
tPrtJob # PrtJobOpen('Brief', 'C:\c16\Brief.job', _PrtJobOpenWrite, _PrtTypePrintDoc);
// Gesamtes Dokument schreiben
tPrtJob->PrtJobWrite(_PrtJobDoc);
// Druckvorschau anzeigen
tErr # tPrtJob->PrtJobClose(_PrtJobPreview);

Die Druckjob-Datei kann anschließend weiter verarbeitet werden. Zum Beispiel als binäres Objekt in die Datenbank importiert oder über das PrtJobPreview -Objekt in der Applikation angezeigt werden. Soll die Datei verschlüsselt gespeichert werden, kann in (alpha5) ein bis zu 64 Zeichen langer Schlüssel angegeben werden.

  • Öffnen einer Druckjob-Datei Zum Lesen eines Druckjobs muss in (alpha2) der vollständige Pfad- und Dateiname der externen Druckjob-Datei angegeben werden. Im Argument (int3) muss _PrtJobOpenRead übergeben werden.
// Druckjob öffnen
tPrtJob # PrtJobOpen('Brief', 'C:\c16\Brief.job', _PrtJobOpenRead, _PrtTypePrintDoc);
// Druckvorschau anzeigen
tErr # tPrtJob->PrtJobClose(_PrtJobPreview);

Handelt es sich um einen verschlüsselten Druckjob muss ferner das korrekte Passwort im Argument (alpha5) angegeben werden. Ist das Passwort falsch oder der Druckjob unverschlüsselt und ein Passwort angegeben, wird 0 zurückgegeben.

  • Schreiben einer PDF-Datei Aus einem Druckjob kann direkt ein PDF-Dokument erstellt werden (siehe _PrtJobPdf). Standardmäßig erfolgt die Ausgabe der Druckobjekte in umgekehrter Reihenfolge ihrer Erstellung. Die Reihenfolge der Druckobjekte spielt beim Drucken keine Rolle. Wird allerdings ein PDF-Dokument erstellt, muss die Reihenfolge der Druckobjekte der Darstellung auf der Seite folgen, damit innerhalb des PDF-Dokuments Text markiert werden kann. Durch die Angabe der Option _PrtJobOpenSort in (int3) wird die visuelle Reihenfolge definiert. Die Objekte werden dann abhängig von ihrer Position auf der Seite (von oben nach unten und von links nach rechts) in das PDF-Dokument geschrieben. Soll unabhängig von ihrer Position bestimmte Objekte über andere Objekte gedruckt werden, muss die Eigenschaft ZOrder verwendet werden.

In dem Druckjob können erweiterte Informationen abgelegt werden, wenn zusätzlich die Konstante _PrtJobOpenVerbose in (int3) angegeben wird. Die zusätzlichen Informationen werden bislang nicht ausgewertet.

Sollen die Bilder und Dokumente, die innerhalb eines Druckjobs angezeigt werden auch innerhalb des Druckjobs gespeichert werden, muss im Parameter (int3) die Konstante _PrtJobOpenEmbedImages angegeben werden.

info

Als Resultat wird der Deskriptor auf den geöffneten / angelegten Druckjob zurückgegeben. Konnte der Druckjob nicht geöffnet werden, wird als Resultat 0 zurückgegeben. In diesem Fall wird der globale Fehlercode gesetzt, der mit ErrGet () ermittelt werden kann. Beispielsweise könnte das Öffnen aus folgenden Gründen fehlschlagen:

  • Das Druck-Dokument (alpha1) ist nicht vorhanden.
  • Der Pfad oder die Datei (alpha2) ist nicht vorhanden oder kann nicht erstellt werden.