StartRenderPageJob

Dokumentprüfung, Rendering

Beschreibung

Startet einen Hintergrundauftrag, der eine Seite einer PDF-Datei rendert, ohne den Thread des Aufrufers zu blockieren

Da TPDFlib nicht threadsicher ist, erstellt der Auftrag eine isolierte Instanz aus derselben Quelldatei und wird in einer Systemaufgabe ausgeführt, sodass eine große Seite den Hostthread nicht mehr bis zum Abschluss belegen kann

Der Auftrag übergibt ein Abbruch-Flag und eine manuell zurücksetzbare Pausensperre an den Renderer, der sie zwischen Inhaltsstromoperatoren abfragt; dadurch können PauseRenderJob, ResumeRenderJob und CancelRenderJob eine einzelne laufende Seite unterbrechen

Syntax

Delphi

Function TPDFlib.StartRenderPageJob(Const FileName, Password, OutputFileName: WideString; DPI: Double; Page, Options: Integer): Integer;

DLL

int DLStartRenderPageJob(int InstanceID, const wchar_t* FileName, const wchar_t* Password, const wchar_t* OutputFileName, double DPI, int Page, int Options);

ActiveX

Function PDFlib::StartRenderPageJob(FileName As String, Password As String, OutputFileName As String, DPI As Double, Page As Long, Options As Long) As Long

Parameter

FileNameDer Pfad der PDF-Quelldatei
PasswordDas Dokumentkennwort oder eine leere Zeichenfolge, wenn die PDF-Datei nicht verschlüsselt ist
OutputFileNameDer Zielbildpfad; das Format folgt Options wie bei RenderPageToFile
DPIDie Renderauflösung
PageDie zu rendernde einsbasierte Seitennummer
OptionsDie direkt an RenderPageToFile übergebene Bildformatoption

Rückgabewerte

>0Ein einsbasiertes Auftragshandle für die Steuerungsmethoden von Renderaufträgen
0Der Auftrag konnte nicht gestartet werden

Anmerkungen

Fragen Sie den Fortschritt mit GetRenderJobState ab und blockieren Sie mit WaitForRenderJob; beide geben die Codes RENDER_JOB_STATE_* zurück

Verwenden Sie PauseRenderJob, ResumeRenderJob und CancelRenderJob, um eine laufende Seite zu unterbrechen, ohne den Worker-Thread zu verlieren

Die Instanz, die den Auftrag gestartet hat, besitzt ihn; das Freigeben der Instanz wartet auf ausstehende Aufträge, sodass eine nur teilweise fertiggestellte Seite ihren Besitzer nie überlebt