Zum Hauptinhalt springen

PrtJobClose

obj -> PrtJobClose(int1[, handle2]) : int

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 schließen

Details

Mit dem Befehl wird ein durch PrtJobOpen () geöffneter oder erzeugter Druckjob geschlossen. Als (obj) wird der von PrtJobOpen () zurückgegebene Deskriptor übergeben.

Wird im Argument (int1) die Konstante _PrtJobPreview angegeben, wird die Druckvorschau gestartet. Die Konstante _PrtJobPreviewValidate bewirkt, dass die Druckvorschau gestartet wird und geprüft wird, ob der Druck-Dialog mit OK verlassen wurde. Ist dies der Fall und beim Drucken ist kein Fehler aufgetreten, wird der Wert _PrtJobPreviewPrintClicked zurückgegeben.

Mit _PrtJobPrint wird der Druckjob auf einen Drucker geleitet. Hierzu kann im Argument (handle2) der Deskriptor eines PrintDevice -Objekts übergeben werden, der vom Befehl PrtDeviceOpen () zurückgegeben wurde. Wird in (handle2) kein PrintDevice übergeben, erfolgt die Ausgabe auf den Standard-Drucker.

Das Dokument muss nicht auf einen Drucker ausgegeben werden. Mit den folgenden Parametern, die als (int1) übergeben werden, können auch andere Formate erzeugt werden:

  • _PrtJobPdf Es wird ein PDF-Dokument erzeugt. Beim PrintJob -Objekt muss mindestens die Eigenschaft PdfFileName angegeben werden.
  • _PrtJobTif Es wird ein Multipage-TIFF-Dokument erzeugt. Beim PrintJob -Objekt muss die Eigenschaft TifFileName angegeben werden.
  • _PrtJobEmf Es wird für jede Seite ein EMF-Dokument erzeugt. Beim PrintJob -Objekt muss die Eigenschaft EmfFileName angegeben werden. Besteht der Druckjob aus mehreren Seiten, wird dem Dateiname jeweils die Seitennummer angehängt.
  • _PrtJobXml Es wird ein XML-Dokument erzeugt. Beim PrintJob -Objekt muss mindestens die Eigenschaft XmlFileName angegeben werden. Der Zeichensatz der XML-Datei wird über die Eigenschaft Charset angegeben.

Die folgenden Konstanten können kombiniert werden, um mehrere Formate gleichzeitig zu generieren:

Die Anzeige der Druckvorschau bzw. die Formatgenerierung erfolgt entsprechend der oben angegebenen Reihenfolge. Falls bei der Generierung eines Formates ein Fehler auftritt, wird nicht abgebrochen, sondern mit der Erstellung des nächsten Formates fortgefahren. Der Rückgabewert entspricht dem Fehlerwert, des zuerst aufgetretenen Fehlers.

Zusätzlich können die _PrtJob...-Konstanten mit _PrtJobHidden kombiniert werden, um die Fortschrittsanzeige beim Druckvorgang zu unterdrücken.

Über die Eigenschaft PrintToFile des PrintJob -Objekts kann die Druckausgabe auf Datei umgeleitet werden.

Das Argument (int1) kann entfallen. Insbesondere bei temporären Druckjobs sollte jedoch eine der Konstanten angegeben sein.

Wird in (int1) die Konstante _PrtJobCancel angegeben, wird der Druckjob geschlossen, ohne das es zu einem Ausdruck oder der Anzeige einer Druckvorschau kommt. Die temporär angelegten Dateien werden gelöscht.

Beispiel:

// Ausgabeeinheit öffnen
tDev # PrtDeviceOpen('HP LaserJet', _PrtDeviceSystem);

// Temporären Druckjob öffnen
tJob # PrtJobOpen('Brief', '', _PrtJobOpenWrite | _PrtJobOpenTemp, _PrtTypePrintDoc);

// Gesamtes Dokument schreiben
tJob->PrtJobWrite(_PrtJobDoc);

// Druckvorschau anzeigen, PDFWriter als Drucker voreingestellt
tErr # tJob->PrtJobClose(_PrtJobPreview, tDev);

// Dokument als PDF generieren
tJob # PrtJobOpen('Brief', '', _PrtJobOpenWrite | _PrtJobOpenTemp, _PrtTypePrintDoc);
tJob->ppPdfFileName # _Sys->spPathMyDocuments + '\Brief.pdf';
tJob->PrtJobWrite(_PrtJobDoc);
tErr # tJob->PrtJobClose(_PrtJobPdf);

Der Befehl liefert folgende Resultate zurück:

  • _ErrOk: Die Verarbeitung des Druckjobs war erfolgreich.
  • _ErrRange: Keine zu druckende Seite oder Startseite größer Endeseite.
  • _ErrSystem: Beim Drucken ist ein Fehler aufgetreten, der nicht weiter spezifiziert werden kann.
  • _PrtJobPreviewPrintClicked: Die Option _PrtJobPreviewValidate wurde angegeben und im Druck-Dialog wurde auf OK geklickt.
  • _ErrPrtPaperFormat: Das Papierformat des PrintDoc -Objektes konnte auf der angegebenen PrintDevice nicht ausgegeben werden.
  • _ErrPdfPageAppend: Es konnte keine Seite an das PDF-Dokument angehängt werden.
  • _ErrPdfInsertMetaFile: Der Seite des PDF-Dokuments konnte kein Inhalt hinzugefügt werden.
  • _ErrPdfNotPdfA: Es sollte ein PDF/A-Dokument erstellt werden. Dieser Fehler wird zurückgegeben, wenn nicht alle Informationen für ein PDF/A-Dokument geschrieben werden konnten.
  • _ErrFsi...: Beim Erstellen der externen Datei ist ein Problem aufgetreten. Die entsprechenden Rückgabewerte sind im Abschnitt Externe Dateioperationen erläutert.