StartRenderPageJob

Documentinspectie, rendering

Beschrijving

Start een backgroundjob die een pagina van een PDF-bestand rendert zonder de thread van de aanroeper te blokkeren

Omdat TPDFlib niet thread-safe is, maakt de job een geïsoleerde instantie aan vanuit hetzelfde bronbestand en draait op een systeemtaak, zodat een grote pagina de hostthread niet langer kan monopoliseren totdat ze klaar is

De job voegt een annuleringsvlag en een handmatig te resetten pauzegate in de renderer in, die ertussen controleert tussen contentstream-operators; dit is wat PauseRenderJob, ResumeRenderJob en CancelRenderJob in staat stelt één pagina onderweg te onderbreken

Syntaxis

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

Parameters

FileNameHet pad van het bron-PDF-bestand
PasswordHet documentwachtwoord, of een lege tekenreeks wanneer de PDF niet is versleuteld
OutputFileNameHet doelafbeeldingspad; het formaat volgt Options zoals bij RenderPageToFile
DPIDe renderresolutie
PageHet te renderen paginanummer, beginnend bij 1
OptionsDe afbeeldingsformaat-optie die rechtstreeks aan RenderPageToFile wordt doorgegeven

Retourwaarden

>0Een job-handle (beginnend bij 1) voor gebruik met de render-job-stuurmethoden
0De job kon niet worden gestart

Opmerkingen

Bevraag de voortgang met GetRenderJobState en blokkeer met WaitForRenderJob; beide geven de RENDER_JOB_STATE_*-codes terugGebruik

PauseRenderJob, ResumeRenderJob en CancelRenderJob om een draaiende pagina te onderbreken zonder de workerthread te verliezen

De instantie die de job is gestart, is de eigenaar; bij het vrijgeven van de instantie worden lopende jobs afgehandeld, zodat een half afgeronde pagina zijn eigenaar nooit overleeft